Saltar al contenido
Docs

Servicio progreso

Referencia del servicio progreso. Lo que se guarda de cada jugador entre una partida y la siguiente, por juego.

Corresponde aFormato 1, API 1 Para quien escribe código Esta página se genera desde las fuentes del SDK.

En esta página

Lo que se guarda de cada jugador entre una partida y la siguiente, por juego.

Los tipos que aparecen en las firmas (Vec3, Texto, el selector) están en la referencia de la API.

Funciones y propiedades de progreso#

progreso.leer#

ts
progreso.leer<T>(jugador: Jugador, clave: string, porDefecto: T): T

Lee lo guardado bajo esa clave para ese jugador. Si no hay nada, devuelve porDefecto.

De docs/EJEMPLOS.md, «progreso»:

ts
jugadores.alEntrar((j) => {
  const visitas = progreso.leer(j, 'visitas', 0) + 1;      // el tercer argumento es el valor por defecto
  progreso.guardar(j, 'visitas', visitas);
  progreso.guardar(j, 'ultimo', { dificultad: juego.dificultad, escena: juego.escena });
});

progreso.guardar#

ts
progreso.guardar(jugador: Jugador, clave: string, valor: unknown): void   // solo JSON, máximo 64 KB por juego

Guarda un valor bajo esa clave para ese jugador.

De docs/EJEMPLOS.md, «progreso»:

ts
jugadores.alEntrar((j) => {
  const visitas = progreso.leer(j, 'visitas', 0) + 1;      // el tercer argumento es el valor por defecto
  progreso.guardar(j, 'visitas', visitas);
  progreso.guardar(j, 'ultimo', { dificultad: juego.dificultad, escena: juego.escena });
});

progreso.borrar#

ts
progreso.borrar(jugador: Jugador, clave: string): void

Borra esa clave del progreso del jugador.

De games/isla-taller/scripts/principal.ts:

ts
progreso.borrar(j, CLAVE_PARTIDA);

Notas de comportamiento#

Se guarda por juego y por jugador, en el equipo del jugador. Los bots tienen progreso en memoria.

Ejemplos completos#

Scripts completos de docs/EJEMPLOS.md. Cada uno supone una escena con lo que nombra, y las claves de texto (interfaz.t('...')) deben existir en textos de juego.json.

progreso#

scripts/principal.ts
import { juego, jugadores, progreso } from '@greengames/sdk';

juego.alIniciar(() => {
  jugadores.alEntrar((j) => {
    const visitas = progreso.leer(j, 'visitas', 0) + 1;      // el tercer argumento es el valor por defecto
    progreso.guardar(j, 'visitas', visitas);
    progreso.guardar(j, 'ultimo', { dificultad: juego.dificultad, escena: juego.escena });
  });
});

Sigue con#