Alguna manera de guardar una partida o resultados

Estimados, conocen alguna manera guardar, o salvar los resultados.

Hola @compulaseradmr, en pilas se puede usar localStorage para guardar y recuperar datos. Te paso un video donde se explica con algunos ejemplos:

Abrazo!

@compulaseradmr quiero agregar a lo dicho por hugoruscitti que en los ejemplos, en particular en el de “mejor puntaje” al inspeccionar el código te dice como puedes activar lo de local storage a través de unos comandos.
De ahí se puede sacar la manera de guardar el valor de variables, también lo probé haciendo el .exe del ejemplo y funciona

1 Like

Mil gracias, por tu ayuda. En el video escuche algo sobre cookies, me interesaría ese tema ya que necesito guardar valores de variables de un ejercicio echo en pilas, si fuese posible en un archivo plano.txt o archivo .ini o similares para leer este contenido desde php y guardarlo en MySQL(php y Mysql lo domino muy bien),
Estoy recién iniciándome en pilas?

Hola @compulaseradmr, localStorage me parece lo mejor, es más sencillo de utilizar me parece. Sin embargo, si queres usar php, mysql o archivos, deberías tener una aplicación php corriendo en un servidor web, y exponiendo una api a la que le puedas enviar datos. Del lado de pilas, tendrías que usar una función como “fetch” (Uso de Fetch - Referencia de la API Web | MDN) para recibir los puntajes o enviarlos.

¡Abrazo!

hola amigo me podrías decir como trabajo con local storage ya que no reconoce los comandos

Hola @Incognito_Dev!!, para trabajar con localstorage necesitas usar dos funciones:

localStorage.setItem("variable", valor_a_guardar)
localStorage.getItem("variable", valor_por_omision)

El editor de pilas te va a marcar que las funciones no existen, pero en realidad el código va a funcionar bien. El editor te va a mostrar la llamada a la función así:

Por el momento no te preocupes, el código va a funcionar bien de todas formas, voy a arreglar este problema del editor en la próxima versión.

Te paso un mini ejemplo que armé recién. En este ejemplo el usuario puede hacer click en las monedas para incrementar el contador de puntaje.

Abrir este proyecto en el editor de pilas

Lo interesante, es que una vez que el jugador reinicia el juego, el puntaje queda guardado y puede volver a jugar a partir de donde se quedó.

Vas a notar que incluso si reinicias el navegador el puntaje se va a seguir guardando.

Ahora, ¿cómo funciona realmente?. Básicamente guardo el puntaje del jugador en localStorage cuando se incrementa el puntaje en (1) y me aseguro de pedirle al navegador el puntaje guardado cada vez que se reinicia el juego en (2):

Luego, el puntaje toma el valor de la variable “this.puntaje” del proyecto y listo!!

Por último, si queres cambiar esa variable de puntaje o eliminarla para volver a empezar, tendrías que abrir el inspector del navegador, abrir “application” y luego “localstorage” así, vas a ver que aparecen los items y con el botón derecho del mouse vas a poder borrarlos o cambiarlos:

Ojalá te sirva!, ¡abrazo!

1 Like

Bueno, me llevó tiempo mejorar esto… ¡pero lo logré!, la próxima versión de pilas
auto-completa bien la api de localStorage:

2 Likes

Felicitaciones @hugoruscitti por el esfuerzo logrado, y te lo comento acá ya que están hablando del tema, ya que existe una función para guardar y tomar datos guardados, como hago para eliminar esos datos, por ejemplo tengo un juego que guarda las mejores puntuaciones y en el juego hay un botón que eliminé todas las puntuaciones para volver a empezar, como de lograría eso?? Perdón por mí ignorancia :wink:

Hola @PabloSosa!!, en caso de que quieras eliminar un registro tendrías que usar la función removeItem.

Por ejemplo, en el código que puse en un mensaje anterior guardaba el puntaje ejecutando este código:

localStorage.setItem("puntaje", this.puntaje);

Ahora, si quiero eliminar el puntaje tendría que ejecutar:

localStorage.removeItem("puntaje");

y listo, el puntaje debería desaparecer para volver a empezar.

1 Like

Buenas tardes, excelente la información, lo único en contra que estos datos no son permanentes ya que si se borra el historial del navegador se pierde toda la información, o a lo mejor me equivoco pero eso he comprobado

Técnicamente hablando, todos los juegos de navegador guardan datos a través de local storage por lo que siempre que borres el historial se borrarán también esos datos. Pero si exportas el juego para windows, por ejemplo, ya no se podrán borrar.