Los juegos didácticos del Proyecto AJDA permiten guardar las partidas y continuarlas en otro momento. Comentamos los principales aspectos de la implementación de este característica en los juegos.
Los juegos están preparados para poder ser guardados en determinados momentos, esto se refleja en que el control "Guardar partida", situado en la parte superior centro, esté o no activado:
Cuando se acciona este control los datos significativos del juego se almacenan en un vector denominado GP1 (a cada linea del vector se la da un valor de un dato del juego que debe ser guardado, GP1[0]=var0; GP1[1]=var1; GP1[2]=var2;...), después se aplican las instrucciones: guardarpartida() y _Save_('NOMBRE-FICHERO.txt',partida).
El algorítmo guardarpartida(), pasa todos los valores del vector GP1 a la variable partida de la siguiente forma:
inicio='partida=''; conter=0; maximopar=nº lineas necesarias'
hacer='partida=(conter<maximopar-1)?(partida+GP1[conter]+'\n'):partida+GP1[conter]; conter=conter+1'
mientras='conter<maximopar'
La instrucción _Save_('NOMBRE-FICHERO.txt',partida), guarda los datos de la variable partida en un fichero de texto, cuyo nombre por defecto es NOMBRE-FICHERO.txt.
Por tanto, tenemos guardados en un fichero de texto los datos que permiten continuar una partida y podemos guadar tantos ficheros como momentos de la partida queramos poder continuar.
Para continuar una partidas guardada, al comienzo del juego se presenta el botón "Continuar partida".
- Crear la variable cadenapar1, introduciendo <w1> y </w1> como primera y última línea y entre ellas el contenido del fichero que se acaba de cargar que se encuentra en DJS.fileContent.
cadenapar1='<w1>\n '+DJS.fileContent+'</w1>';
- Pasa el contenido de la variable cadenapar1 al vector w1 mediante la instrucción:
_StrToVector_(cadenapar1,'w1';)
- Se establece una variable PCAR que si su valor es 1, indica que se ha cargado correctamente.
- Se asignan los datos del vector wp1 a las variables del juego que les corresponden,
jug1=(PCAR=1)?w1[2]:jug1 ; jug2=(PCAR=1)?w1[3]:jug2 ; TIME=(PCAR=1)?w1[4]:TIME...
El juego continuará ahora con los datos de la partida que se guardó.