[C con Clase] Ayuda con matriz de objetos (estoy simulando un tablero de 8 x 8 de objetos tipo ficha) y consulta gotoxy

Juan Pablo Carro jpcarro en gmail.com
Jue Jul 5 12:16:47 CEST 2007


Buen dia gente

estoy desesperado porque no consigo encontrar la solucion a este problema

Intento cargar una matriz de 8 x 8 (de 0 a 7 cada lado)
con fichas para programar un juego de damas para la facultad.

El problema es que luego de cargar el algoritmo de carga de coordenadas de
las fichas, descubro que C le carga lo que se le da la gana y no lo que
tendria que dar el resultado de mi algortimo

les mando un fragmento del codigo... no se como, pero C sobreescribe la
memoria!

Alguien podria ayudarme con este tema?
muchas gracias


include <iostream.h>
#include <conio.h>
#include <graphics.h>
#include <string.h>
#include <ctype.h >
#include <stdio.h>
#include "c:\proyec~1\tablero.h"
#include "c:\proyec~1\fichac.h"
#include "c:\proyec~1\fichad.h"
#include "c:\proyec~1\ficha.h"
#define F 7
#define C 7

void Tablero::setTurno(char turno){
    _turno = turno;
}

char Tablero::getTurno(){
    return _turno;
}

void Tablero::decFichaN(){
    _fichasN--;
}

void Tablero::decFichaB(){
    _fichasB--;
}

int Tablero::getFichasB(){
    return _fichasB;
}

int Tablero::getFichasN(){
    return _fichasN;
}

void Tablero::setFichasN(int x){
    _fichasN=x;
}

void Tablero::setFichasB(int x){
    _fichasB=x;
}

Tablero::Tablero(int b,int n){     /* Carga el array en null */
 _fichasB=b;
 _fichasN=n;
 for(int i=0;i<=F;i++){
        for(int j=0; j<=C ;j++){
            tablero[i][j]= NULL;
        }
    }

 clrscr();
 for(i=0; i<=F;i++){
    cout<<endl;
    for(int j=0; j<=C; j++) {
        if(tablero[i][j]==NULL) cout<<" "<<j<<" N ";
    }
 }
 cout<<endl<<"mostrando inicializacion";
 getch();
}


Tablero::~Tablero(){    /* Libera la memoria que eventualmente
                                                haya pedido el constructor y
no se haya
                                                liberado aun */
    for(int i=0;i<=F;i++){
        for(int j=0;j<=C;j++){
            if(tablero[i][j])
                delete tablero[i][j];
        }
    }
}

void Tablero::comenzar(){ /* Inicializa las fichas de ambos jugadores en sus
posiciones en el tablero */
    for(int j=0; j<4; j++){
        tablero[0][j*2+1] = new FichaComun('B',0,j*2+1);
        tablero[1][j*2] = new FichaComun('B',1,j*2);
        tablero[2][j*2+1] = new FichaComun('B',2,j*2+1);
        tablero[5][j*2] = new FichaComun('N',5,j*2);
        tablero[6][j*2+1] = new FichaComun('N',6,j*2+1);
        tablero[7][j*2] = new FichaComun('N',7,j*2);
    }
    clrscr();
    for(int i=0; i<=F;i++){
        cout<<endl;
        for(int j=0; j<=C; j++) {
            if(tablero[i][j]!=NULL) cout<<"
"<<"pos:"<<tablero[i][j]->getPosX()<<","<<tablero[i][j]->getPosY()<<((FichaComun
* )tablero[i][j])->getIcono();
     }
    }
  /*PARA HACER UN TEST, RECORRO LA MATRIZ E IMPRIMO LAS COORDENADAS D CADA
FICHA Y...
 cout<<endl<<"Fichas blancas se habia inicializado en: "<<getFichasB();
 cout<<endl<<"Fichas rojas se habia inicializado en: "<<getFichasN();
 cout<<endl<<"mostrando inicializacion";
 getch();
} //fin metodo
-- 

al imprimirlas, 0,7 lo repite 2 veces... es intermitente cada 2 lineas que
vuelve a repetir un valor...

Alguna sugerencia?

Por otro lado, la funcion gotoxy(), el formato puede ser que sea
Columna,FILA??
gracias
::> Juan Pablo

-- 
::> Juan Pablo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070705/8f2a05c5/attachment.html>


Más información sobre la lista de distribución Cconclase