Código fuente de ejemplo: Evaluando condiciones
Vamos a programar un juego por el que tengamos que adivinar un número al azar del 1 al 5. Para evitar el 0, utilizaremos la primitiva AZAR 5, que obtendrá un número entre 0 y 4, y le sumaremos 1:
PARA juego
BP GD 90
HAZ "numero 1 + AZAR 5
HAZ "intento PRIMERO PREGUNTABOX [Adivina el número] [Escribe un número del 1 al 5:]
SISINO :intento = :numero [ROTULA [¡Has acertado!]] [ROTULA [Has fallado]]
FIN
|
Vamos a hacer una mejora en el juego; que nos dé una segunda oportunidad y una pista diciéndonos si el número buscado es mayor o menor que el que hemos puesto:
PARA juego
BP GD 90
HAZ "numero 1 + AZAR 5
HAZ "intento PRIMERO PREGUNTABOX [Adivina el número] [Escribe un número del 1 al 5:]
SI :intento > :numero [HAZ "intento2 PRIMERO PREGUNTABOX [Adivina el número] [¡Demasiado grande! Escribe un nuevo número:]]
SI :intento < :numero [HAZ "intento2 PRIMERO PREGUNTABOX [Adivina el número] [¡Demasiado pequeño! Escribe un nuevo número:]]
SISINO :intento2 = :numero [ROTULA [¡Has acertado!]] [ROTULA [Has vuelto a fallar]]
SI :intento = :numero [BP GD 90 ROTULA [¡Has acertado!]];
FIN
|
En la última línea le añado BP y GD 90 para que, si he acertado a la primera, el programa borre el mensaje anterior y escriba recto (ya que, por no tener valor intento2, no coincidirá con el número y en la línea anterior escribirá que hemos vuelto a fallar)
|