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:

diálogos.Añade("Luchar", [
  "¡Has ganado 10 monedas!",
  { guarda: "dinero", suma: 10 },
])

Cuando llegamos al diálogo anterior nos cuentan que hemos ganado 10 monedas, pero también guardamos esa información, para recordarlo más adelante. Le podemos poner un nombre que deje clara la información, como "dinero" y poner cuanto le sumamos.

Condiciones

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

diálogos.Añade("Finales", [
  { condición: "dineroMásDe100", continúa: "FinalRico" },
  { condición: "dineroMenosDe10", continúa: "FinalPobre" },
  { continúa: "NiRicoNiPobre"},
])

¿Pero como sabe nuestro juego si se cumple cada una de esas condiciones? Pues es algo que nos toca programar, con un código como el siguiente:

diálogos.AñadeCondición("dineroMásDe100",
  () => Estado["dinero"] > 100
)

Aunque el código parezca un poco complicado, de momento nos basta con saber que si copiamos este código podemos crear distintas condiciones. Solo tenemos que poner el nombre que vayamos a usar, y dentro programar la condición. En nuestro caso la condición es: Estado["dinero"] > 100.

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 "dinero". Y por último podemos compararlo con otro valor. Hay varios operadores que podemos usar para esto: