¿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" } ,
)
Primero ponemos los a cero. Luego, cuando llegamos a algún diálogo en el que hayamos acertado podemos aumentar el número de aciertos sumándoles uno al valor anterior.
¿Qué significa let?
let significa "permitir". Esta palabra se pone delante del nombre de una variable que se puede modificar más adelante.
¿Para que sirve ()=>?
Esta expresión indica una función de flecha (arrow function). Es necesaria para que el código que hay después de ella no se ejecute de inmediato, sino cuando se llega a esa línea de diálogo.
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 : "todo_fallos" } ,
{ si : () => aciertos == 3, sigue : "todo_aciertos" } ,
{ sigue : "algunos_fallos" } ,
)
En cada línea comprobamos si se cumple la condición, y si es así pasamos a un diálogo distinto. Por ejemplo, la comparación: comprueba que el número de aciertos sea igual a 3, y en ese caso pasamos a todo_aciertos.
¿Por qué se usan dos símbolos de igual == para comparar?
En algunos lenguajes de programación se usa un solo símbolo de igual (=) para poner el valor de una variable. Por eso, si solo se pone uno, se entiende que estás cambiando el valor del elemento. Así que para comparar si son iguales se decidió usar algo distinto (==).
Ahora que sabes como hacer condiciones, puedes hacer tus propios finales. Según lo que necesites puedes usar varios símbolos para comparar:
- Igual (==)
- Distinto (!=)
- Mayor (>)
- Menor (<)
- Mayor o igual (>=)
- Menor o igual (<=)