Ver la versión completa : Guardar partida en fenix????como???
Neodreamer
12/12/2004, 19:46
Hola, queria saber como se podria guardar una partida en fenix.....si soporta la escritura de archivos siendo estos en la smc o no.
En div si tenia unas funciones ny creo q en fenix tambien, pero solo para windows?
Alguien sabe como hacerlo para guardar datos sobre puntuaciones maximas en un .dat o cosas asi?
1saludo y gracias
Pos si, lo soporta, aunque yo aun no lo he intentado asi que aun no se como se hace, ya lo miraré cuando llegue a eso...
Mira en este mismo foro. Yo mismo pregunté eso mismo no hace mucho. La verdad esta ahí fuera :)
Neodreamer
12/12/2004, 22:32
Vale, he encontrado los dos ejemplos de los q me hablas, pero como no tengo ni papa de tratamiento de ficheros en C....bueno si pero no lo recuerdo.....me gustaria q alguien me explicase la mekanica xq me parece muy complicada.
Os pongo un ejemplo y me decis como seria?
Un juego tipo zelda(de hecho hay demo en div x ahi) en el q al guardar, debamos marcar con 1 o 0 si se tiene la llave, la espada, el escudo, etc....
Como guardo los datos en el archivo y los cargo despues? xq se q se abre en modo write para guardar y read para cargar, pero lo de las referencias a las distintas variables y demas....me lia un pokito....me ayudais please?
1saludo y gracias
Miki-chan
16/12/2004, 18:23
Bueno, no he programado en Fenix, pero te puedo explicar cómo sería en C.
Primero creamos la estructura items que nos permitirá saber si tenemos o no los objetos.
struct items
{
int espada;
int escudo;
int pociones;
//Todos los objetos que se te ocurran y que tenga el juego
};
struct items jugador; //Creamos una variable del tipo struct items.
//En un momento dado del juego, se podrá guardar.
//Pide confirmación al usuario antes de guardar, ya que se sobreescribrán los datos anteriores
file=fopen("guardo.dat","w"); //Abres el fichero y se sobreescribe.
//Ahora guardaremos los datos
fwrite(jugador,sizeof(struct items),1,file);
/*No recuerdo muy bien si jugador debería escribirse &jugador, no toco mucho C últimamente.
Te explico los parámetros.
Lo primero que indicamos es la variable que queremos guardar al fichero. En este caso serían nuestros objetos y el estado de ellos (0 los tengo, 1 no no los tengo. Si tienes posibilidad de tener varios objetos de cada, por ejemplo con las pociones, puedes saber además cuántas tienes si lo guardas en la estructura.
Después le indicamos el tamaño de los datos a escribir. Se indica en KB pero para no tener que calcularlo "a mano", utilizamos la función sizeof que ya lo calcula por nosotros. Le indicamos que queremos guardar una cantidad de información igual al tamaño de nuestra estructura, si fuese un entero, le podríamos haber indicado sizeof(int).
El tercer parámetro indica cuántas veces debe guardar esa información en el fichero. En este caso 1 porque guarda datos para un sólo jugador/ personaje del juego. Si en el juego tenemos varios personajes, cambiaría todo el tema del manejo de a estructura y del guardado en fichero porque tendríamos un array.
El último es el nombre de la variable del fichero en el que vamos a escribir, aquí escogemos file que corresponde a nuestro fichero guardado.dat*/
fclose(file);
/*Por último, no olvides cerrar el fichero para evitar problemas como datos corruptos o mal guardados.
En Fenix no sé muy bien cómo sería porque ya te digo que no lo he usado, pero al basarse en C, será algo similar. Espero haberte ayudado aunque sea un poquito.*/
Yo necesito algo parecido para el New Super Pang, ya que ya tengo implementados dos personajes secretos (cortesía de Scrembolxp) :brindis: que solo se podrán sacar tras haber superado algunas pruebas. Además necesito que se guarden los progresos del modo RPG, por lo que tengo que idear un sistema de guardado con información "encriptada" para evitar que algún listillo se ponga a modificar los archivos y se salte las pruebas :D
Si alguien se anima a ayudarme, bienvenido sea.
Un saludo
Anarchy
http://www.gp32spain.com/foros/showthread.php?threadid=7351&highlight=guardar+and+fenix
Abajo hay un post de chui que lo explica.
Tambien hay una manera con save(); y load(); pero es practicamente lo mismo.
Miki-chan
16/12/2004, 18:42
Bueno, he buscado en la documentacion oficial de Fenix y el fwrite que te he puesto sería así:
fwrite(file,jugador,sizeof(struct items));
si ese no funciona
fwrite(file,&jugador,sizeof(struct items));
Y así debería funcionar. Te recomiendo que te bajes el Fenix para Windows ya que incluye un manual de referencia que creo que está bastante bien, aunque desactualizado.
Si estás usando algún IDE, mira la ayuda o busca en la ayuda de la web de Fenix, hay una referencia de todas las funciones.
Anarchy, lo de guardar en plan "encriptado" para que no lo puedan editar creo que saldría solo, ya que si guardas en extensión .dat tiende a visualizar el contenido con cuadraditos y cosas así, al menos C lo hacía o no según la aperura del archivo y la extensión (el modo de apertura podía ser "wb" o "w" para escritura, el añadir la b hacía que el archivo fuera binario o algo así). Pruébalo y nos cuentas. Si necesitas algo más pregunta y a ver qué podemos hacer :)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.