Aquí esta una nueva entrega del curso crea tu juego RPG en C++ y Allegro. En esta entrega se realizará la carga de partida.
Para realizar la carga de partida, se leen los datos que previamente se guardaron con la función guarda_partida(). Para la lectura de los datos se debe hacer en el mismo orden que se puso cuando se guardaron.
En el archivo partidas.h, se crea una nueva función llamada carga_partida().
El principio es practicamente igual, excepto a la hora de abrir el archivo, al utilizar el comando pack_fopen el segundo parámetro "r" indica que se abre de lectura.
Con el comando pack_fgets se va obteniendo lineas y se guardan en la variable contenido. A medida que se va leyendo el archivo se van asignando los valores a sus respectivas variables. Al finalizar de leer el fichero, se debe de llamar a la función carga_escenario().
Para realizar la carga de partida, se leen los datos que previamente se guardaron con la función guarda_partida(). Para la lectura de los datos se debe hacer en el mismo orden que se puso cuando se guardaron.
En el archivo partidas.h, se crea una nueva función llamada carga_partida().
void carga_partida(){ char contenido[255]; packfile_password("kodaygames2015"); PACKFILE *fichero; fichero = pack_fopen("partida.sav","r");
El principio es practicamente igual, excepto a la hora de abrir el archivo, al utilizar el comando pack_fopen el segundo parámetro "r" indica que se abre de lectura.
// datos del jugador pack_fgets( contenido, 255, fichero); int jx = atoi( contenido ); pack_fgets( contenido, 255, fichero); int jy = atoi( contenido ); jugador.posiciona(jx,jy); pack_fgets( contenido, 255, fichero); jugador.setvida( atoi( contenido )); pack_fgets( contenido, 255, fichero); jugador.setvidamax( atoi( contenido )); pack_fgets( contenido, 255, fichero); jugador.setexp( atoi( contenido )); pack_fgets( contenido, 255, fichero); jugador.setnivel( atoi( contenido )); pack_fgets( contenido, 255, fichero); jugador.setdinero( atoi( contenido )); pack_fgets( contenido, 255, fichero); jugador.pon_casco( atoi( contenido )); pack_fgets( contenido, 255, fichero); jugador.pon_armadura( atoi( contenido )); pack_fgets( contenido, 255, fichero); jugador.pon_arma( atoi( contenido )); pack_fgets( contenido, 255, fichero); jugador.pon_anillo( atoi( contenido )); for (int i=0; i < 12; i++) { pack_fgets( contenido, 255, fichero); jugador.pon_inventario( i, atoi( contenido ) ); } // datos del escenario pack_fgets( contenido, 255, fichero); lugar = atoi( contenido ); pack_fgets( contenido, 255, fichero); desplazamiento_map_x = atoi( contenido ); pack_fgets( contenido, 255, fichero); desplazamiento_map_y = atoi( contenido ); // npc y enemigos pack_fgets( contenido, 255, fichero); npersonaje = atoi( contenido ); int timg; int tx; int ty; int tdir; int testado; int tlugar; int tvida; for ( int i = 0; i < npersonaje; i++) { pack_fgets( contenido, 255, fichero); timg = atoi( contenido ); pack_fgets( contenido, 255, fichero); tx = atoi( contenido ); pack_fgets( contenido, 255, fichero); ty = atoi( contenido ); pack_fgets( contenido, 255, fichero); tdir = atoi( contenido ); pack_fgets( contenido, 255, fichero); testado = atoi( contenido ); pack_fgets( contenido, 255, fichero); tlugar = atoi( contenido ); personajes[i].crea( timg, tx, ty, tdir, testado, tlugar ); } pack_fgets( contenido, 255, fichero); nmalos = atoi( contenido ); for ( int i = 0; i < nmalos; i++) { pack_fgets( contenido, 255, fichero); timg = atoi( contenido ); pack_fgets( contenido, 255, fichero); tx = atoi( contenido ); pack_fgets( contenido, 255, fichero); ty = atoi( contenido ); pack_fgets( contenido, 255, fichero); tdir = atoi( contenido ); pack_fgets( contenido, 255, fichero); testado = atoi( contenido ); pack_fgets( contenido, 255, fichero); tlugar = atoi( contenido ); pack_fgets( contenido, 255, fichero); tvida = atoi( contenido ); malos[i].crea( timg, tx, ty, tdir, testado, tlugar, tvida ); } pack_fclose(fichero); };
Con el comando pack_fgets se va obteniendo lineas y se guardan en la variable contenido. A medida que se va leyendo el archivo se van asignando los valores a sus respectivas variables. Al finalizar de leer el fichero, se debe de llamar a la función carga_escenario().
No hay comentarios:
Publicar un comentario