[AYUDA] Deshacer movimientos

Iniciado por Kougami, 21 Marzo 2017, 14:06 PM

0 Miembros y 1 Visitante están viendo este tema.

Kougami

 Buenas,
Tengo que deshacer un movimiento de un juego; para ello tengo un struct que tiene un array de tableros y otro struct que contiene el primer struct y otro array de tableros. El primer struct tiene los tableros del movimiento anterior y el segundo el tablero que se muestra por pantalla.

Como hago para guardar un tablero en el primer struct antes de hacer un movimiento y luego, si deshago el movimiento como hago para que el ultimo tablero del array de tableros sea el tablero que tengo que mostrar por pantalla??

MAFUS

Supongo que quieres decir que el struct tiene un array de casillas.

¿Qué tal andas con las listas enlazadas?

Podrías usarlas para ir guardando los tableros después de cada jugada realizada y si quieres volver atrás solo deberías cargar como actual uno pasado deseado.

O

Podrías usar una lista enlazada para guardar solo los movimientos y a la hora de volver a atrás deshaces los movimientos.

De una forma gastas más memoria al tener todos los tableros y de la otra necesitas un algoritmo más elaborado.