Juglar

Motor de juegos narrativos y educativos
para aprender programación web

¿Cómo crear distintos finales?

Tener distintos finales no es más que tener diferentes diálogos y mostrar uno u otro según lo que ha ocurrido. Pero para ello necesitamos "guardar" lo que ha ocurrido:

let aciertos = 0

diálogos.añade("aciertaAño", 
  ()=> aciertos = aciertos + 1,
  { personaje: "Juglar"},
  "¡Correcto! Has acertado.",
  { sigue: "continuaExplicaciónAño"},
)

Con la instrucción let definimos la variable aciertos y ponemos los aciertos a cero. Luego, cuando llegamos a algún diálogo en el que hayamos acertado podemos aumentar el número de aciertos indicando que los nuevos aciertos son: aciertos = aciertos + 1. Es decir, sumándoles uno al valor anterior.

Condiciones

Ahora, al llegar al final del juego, podemos escoger el final que mostraremos, dependiendo de distintas condiciones:

diálogos.añade("Finales", 
  { si: ()=> aciertos == 0, sigue: "todoFallos" },
  { si: ()=> aciertos == 3, sigue: "todoAciertos" },
  { sigue: "algunosFallos"},
)

En las condiciones, los paréntesis y la flecha ()=> se usan para crear funciones. En este caso una comparación. Por ejemplo, la comparación: aciertos == 3 comprueba que el número de aciertos sea igual a 3.

El estado es un objeto en donde se guardará toda la información que guardemos con los diálogos. Entre corchetes podemos poner el nombre del dato que queramos, como "aciertos". Y por último podemos compararlo con otro valor. Hay varios operadores que podemos usar para esto: