[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