<span class="gmail_quote"><br></span>Buen dia gente<br><br>estoy desesperado porque no consigo encontrar la solucion a este problema<br><br>Intento cargar una matriz de 8 x 8 (de 0 a 7 cada lado)<br>con fichas para programar un juego de damas para la facultad.
<br><br>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<br><br>les mando un fragmento del codigo... no se como, pero C sobreescribe la memoria!
<br><br>Alguien podria ayudarme con este tema?<br>muchas gracias<br><br><br clear="all">include <iostream.h><br>#include <conio.h><br>#include <graphics.h><br>#include <string.h><br>#include <ctype.h
><br>#include <stdio.h><br>#include "c:\proyec~1\tablero.h"<br>#include "c:\proyec~1\fichac.h"<br>#include "c:\proyec~1\fichad.h"<br>#include "c:\proyec~1\ficha.h"<br>#define F 7
<br>#define C 7<br><br>void Tablero::setTurno(char turno){<br> _turno = turno;<br>}<br><br>char Tablero::getTurno(){<br> return _turno;<br>}<br><br>void Tablero::decFichaN(){<br> _fichasN--;<br>}<br><br>void Tablero::decFichaB(){
<br> _fichasB--;<br>}<br><br>int Tablero::getFichasB(){<br> return _fichasB;<br>}<br><br>int Tablero::getFichasN(){<br> return _fichasN;<br>}<br><br>void Tablero::setFichasN(int x){<br> _fichasN=x;<br>}<br><br>
void Tablero::setFichasB(int x){<br> _fichasB=x;<br>}<br><br>Tablero::Tablero(int b,int n){ /* Carga el array en null */<br> _fichasB=b;<br> _fichasN=n;<br> for(int i=0;i<=F;i++){<br> for(int j=0; j<=C ;j++){
<br> tablero[i][j]= NULL;<br> }<br> }<br><br> clrscr();<br> for(i=0; i<=F;i++){<br> cout<<endl;<br> for(int j=0; j<=C; j++) {<br> if(tablero[i][j]==NULL) cout<<" "<<j<<" N ";
<br> }<br> }<br> cout<<endl<<"mostrando inicializacion";<br> getch();<br>}<br><br><br>Tablero::~Tablero(){ /* Libera la memoria que eventualmente<br> haya pedido el constructor y no se haya
<br> liberado aun */<br> for(int i=0;i<=F;i++){<br> for(int j=0;j<=C;j++){<br> if(tablero[i][j])<br> delete tablero[i][j];<br> }
<br> }<br>}<br><br>void Tablero::comenzar(){ /* Inicializa las fichas de ambos jugadores en sus posiciones en el tablero */<br> for(int j=0; j<4; j++){<br> tablero[0][j*2+1] = new FichaComun('B',0,j*2+1);
<br> tablero[1][j*2] = new FichaComun('B',1,j*2);<br> tablero[2][j*2+1] = new FichaComun('B',2,j*2+1);<br> tablero[5][j*2] = new FichaComun('N',5,j*2);<br> tablero[6][j*2+1] = new FichaComun('N',6,j*2+1);
<br> tablero[7][j*2] = new FichaComun('N',7,j*2);<br> }<br> clrscr();<br> for(int i=0; i<=F;i++){<br> cout<<endl;<br> for(int j=0; j<=C; j++) {<br> if(tablero[i][j]!=NULL) cout<<" "<<"pos:"<<tablero[i][j]->getPosX()<<","<<tablero[i][j]->getPosY()<<((FichaComun * )tablero[i][j])->getIcono();
<br> }<br> }<br> /*PARA HACER UN TEST, RECORRO LA MATRIZ E IMPRIMO LAS COORDENADAS D CADA FICHA Y...<br> cout<<endl<<"Fichas blancas se habia inicializado en: "<<getFichasB();<br> cout<<endl<<"Fichas rojas se habia inicializado en: "<<getFichasN();
<br> cout<<endl<<"mostrando inicializacion";<br> getch();<br>} //fin metodo<br>-- <br><br>al imprimirlas, 0,7 lo repite 2 veces... es intermitente cada 2 lineas que vuelve a repetir un valor...<br><br>
Alguna sugerencia?<br><br>Por otro lado, la funcion gotoxy(), el formato puede ser que sea Columna,FILA??<br>gracias<br><span class="sg">::> Juan Pablo
</span><br clear="all"><br>-- <br>::> Juan Pablo