Saltar al contenido
Docs

Servicio puntajes

Referencia del servicio puntajes. Las tablas de mejores marcas que el juego declara en su manifiesto.

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

En esta página

Las tablas de mejores marcas que el juego declara en su manifiesto.

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

Funciones y propiedades de puntajes#

puntajes.registrar#

ts
puntajes.registrar(jugador: Jugador, valor: number, tabla?: string): number

Registra un valor en una tabla del manifiesto (por defecto, la primera). Cada dificultad tiene su propia lista. Devuelve el puesto obtenido (1 es el mejor) o 0 si no entró a la tabla. Los bots no registran.

De games/laberinto-de-luces/scripts/principal.ts:

ts
puntajes.registrar(j, tiempo, 'tiempo');

puntajes.mejores#

ts
puntajes.mejores(tabla?: string): { nombre: string; valor: number; fecha?: string }[]

Mejores entradas de la tabla para la dificultad actual, ya ordenadas.

De docs/EJEMPLOS.md, «puntajes»:

ts
juego.registro('Mejor marca:', puntajes.mejores('puntos')[0]?.valor ?? 'ninguna');

puntajes.mejorDe#

ts
puntajes.mejorDe(jugador: Jugador, tabla?: string): number | null

Mejor valor del jugador en la tabla, o null si no tiene.

De games/copa-de-bloques/scripts/principal.ts:

ts
const mejor = puntajes.mejorDe(hum, 'puntos');

Notas de comportamiento#

Las tablas son las declaradas en puntajes del manifiesto; sin tabla se usa la primera. Lo habitual es no llamar a registrar, sino pasar tabla a juego.terminar.

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.

puntajes#

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

juego.alIniciar(() => {
  juego.registro('Mejor marca:', puntajes.mejores('puntos')[0]?.valor ?? 'ninguna');
  mundo.alEntrar('meta', (_zona, j) => {
    // Lo habitual: registrar al terminar. "puntos" está declarada en "puntajes" de juego.json.
    juego.terminar({ resultado: 'victoria', puntaje: j.puntos * 10, tabla: 'puntos', de: j });
  });
});

Sigue con#