11/04/2010, 17:18
|
| | Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años, 8 meses Puntos: 0 | |
Respuesta: Problemilla Ajedrez Hola, este mi primer mensaje en el foro, y me decidí a responderte porque hace tiempo realice un proyecto parecido al tuyo y me rompí mucho la cabeza resolviendo problemas como ese, yo lo realice en c++ fueron como 5000 lineas de código (pero 0 optimización) y el proyecto trataba de jugar contra la compu, fue hace muchos años cuando estaba en primero de la u y no recuerdo muy bien, además que te adelanto que la solución posiblemente no fue la mas práctica, yo internamente manejaba todo con matrices con valores numéricos, 0=casilla vacía, 1=casilla ocupada pieza blanca, 2=casilla ocupada pieza negra; Al principio llenaba todo de ceros, luego a medida que se ubicaban las piezas en su lugar iban tomando el valor de 1 o 2, Luego cada vez que se realizaba un movimiento la casilla que dejaba la pieza tomaba el valor de 0 y el la casilla donde terminaba tomaba el valor que le corresponda, con eso sabemos exactamente si la casilla esta ocupada o no, y si lo esta de que bando es. Ahora creo que hubiese sido mas sencillo para facilitar después lo movimientos asignar un valor numérico a cada pieza y por color, por ejemplo:
casilla vacía = 0
peón blanco = 1
caballo blanco = 2
alfil blanco = 3
torre blanca = 4
dama blanca = 5
rey blanco = 6
peón negro = 7
caballo negro = 8
alfil negro = 9
torre negro = 10
dama negro = 11
rey negro = 12
Con eso sabríamos el color y el tipo de pieza que hay en cada casilla del tablero, además sabemos cuales están vacías, esto también sirve mucho para controlar las jugadas ilegales. |