Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Sistema de slots (guardado de partida múltiple)  (Leído 443 veces)

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

Desconectado FernandoNavarro

en: Enero 31, 2020, 08:19:57 pm
Hola buenas, estoy haciendo un remake del mítico The Legend of Zelda de NES, es decir el primero en orden de emisión. La cosa es que como sabrán, tiene la opción de jugar hasta tres partidas sin sobreescribir ninguna, pues estoy teniendo varios colores de cabeza con como gestionar tres slots o ranuras.

Gracias por la atención u.u

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Seirlord_Games

  • Asiduo
  • *
  • Puntos: 285
  • Mensajes: 197
  • Agradecido: 35 veces
  • Sexo: Masculino
  • Esfuérzate por tus sueños, sino es imposible.
    • Ver Perfil
Respuesta #1 en: Febrero 01, 2020, 02:37:31 am
Buenas,

Digamos que tienes 3 slots, y sabes como guardar la partida, pongamos en un archivo llamado partida.dat (la extensión da igual). Pues simplemente seria darle un nombre al archivo segun el slot;
- slot1.dat
- slot2.dat
- slot3.dat

De esta manera cuando pulses en el slot2, sabrá que tiene que guardar/cargar el slot2.dat

Un saludo


Desconectado FernandoNavarro

Respuesta #2 en: Febrero 01, 2020, 04:53:49 am
Hola, tenía la misma idea, lo probé y funciona, pero ahora tengo otro problema con lo de la escritura del nombre, ¿qué me recomiendas, es buena idea un arreglo?

 


Desconectado Seirlord_Games

  • Asiduo
  • *
  • Puntos: 285
  • Mensajes: 197
  • Agradecido: 35 veces
  • Sexo: Masculino
  • Esfuérzate por tus sueños, sino es imposible.
    • Ver Perfil
Respuesta #3 en: Febrero 01, 2020, 12:51:35 pm
Podrias guardar en un archivo los nombres de cada slot.


Desconectado BssString

Respuesta #4 en: Febrero 02, 2020, 01:00:02 am
Hola FernandoNavarro

Simplemente guarda los archivos como "slot1.dat", "slot2.dat" y "slot3.dat". Y dentro del archivo carga una String que contenga el nombre de la partida.
Como son solamente 3 slots, no veo la necesidad de crear algún Array o Data Structure, simplemente crea 3 variables diferentes y repite el código de lectura 3 veces.

Así cuando inicies el juego, primero le asignas al Slot un nombre por defecto, ejemplo "No hay partida guardada" y luego lees el nombre ingame para mostrar en el menu:
file1_name = "No hay juego guardado"
file2_name = "No hay juego guardado"
file3_name = "No hay juego guardado"
if file_exists("slot1.dat") {
//Abres el archivo con tu código
file1_name  = algn ini_read_string o file_text_read_string o como lo hayas hecho.
//Aquí cierras el archivo
}
//Repite lo mismo con los otros 2.

Si aún no creas ninguna partida en ese slot, entonces puedes dibujar la string por defecto "No hay partida guardada".

Cuando cargues un Slot, guarda el nombre del archivo en alguna variable global, para que puedas tener acceso al nombre del archivo desde cualquier objeto y desde cualquier room, así puedes guardar/cargar sobre el mismo slot en el que estás jugando sin alterar los otros 2.

Ejemplo, si cargas la tercera partida:
globalvar current_slot; current_slot = "slot3.dat"

Así a futuro simplemente llamas a la variable "current_slot" para guardar tu partida

Saludos
« última modificación: Febrero 02, 2020, 01:01:57 am por BssString »

 


Desconectado FernandoNavarro

Respuesta #5 en: Febrero 02, 2020, 08:02:32 am
Hola.

Gracias BssString, ya me implementé un sistema, sólo verifico si existe o no el archivo con file_exists, si existe y el jugador elige esa partida la carga, si no existe lo crea y ejecuta el """procedimiento""" de nueva partida