Comprobar la respuesta del jugador

En esta página, vas a continuar desarrollando un juego para adivinar un número. Recibiremos los intentos del jugador hasta que adivine la respuesta correcta.

Necesitaremos que la computadora pida a los jugadores que adivinen una y otra vez hasta que acierten. Para hacer eso, usa el bloque repetir hasta que. Repetir hasta que es un bucle (al igual que repetir, para siempre y para) pero también un condicional (como si y si / sino). Se repite hasta que se cumple una determinada condición. Para este programa, el código debe repetirse hasta que la respuesta del jugador sea igual al número secreto.

Aprendiste sobre bucles en Unidad 1 Laboratorio 3 Página 6: Iterar con un contador.

Has visto condicionales en Unidad 1 Laboratorio 2 Página 5: Agregar variedad a Chisme y Unidad 1 Laboratorio 5 Página 2: Seguir al líder.

Intercambio de pareja
  1. Usa repetir hasta que para preguntarle al jugador (preguntar () y esperar) que adivine el número secreto hasta que su respuesta sea igual al número secreto.
    • Arrastra la variable número secreto fuera del bloque variables de programa para usarla.
    • Los bloques preguntar y respuesta van juntos. Si usas preguntar para hacer una pregunta, la respuesta del usuario será reportada por respuesta.
El código preguntar (¿Por qué la gallina cruzó la calle?) y esperar; asignar a (respuesta de usuario) el valor (respuesta) se escribiría como
DISPLAY ("¿Por qué la gallina cruzó la calle?")
respuestaUsuario ← INPUT()
o un rectángulo blanco que contiene dos pequeños rectángulos blancos: El primero contiene la palabra 'DISPLAY' en mayúsculas seguido de un rectángulo pequeño blanco que contiene el texto '¿Por qué la gallina cruzó la calle?'. El segundo contiene el texto 'respuestaUsuario ← INPUT()'.
AAP-3.A.8, AAP-3.A.9
Observa que el procedimiento
INPUT()
(Entrada) acepta el valor del usuario y devuelve ese valor de entrada, que luego se asigna a la variable
respuestaUsuario
con la
sintaxis. En Snap!, así es cómo respuesta acepta un valor del usuario y lo reporta, y ese reporte es a lo que la computadora asigna la variable respuesta del usuario.
AAP-2.B
  1. Después de que el jugador adivine el número secreto, haz que la computadora felicite al jugador.
  2. Prueba y depura. Toma turnos para jugar y solucionen cualquier problema con el código antes de continuar.

Repetir hasta que tome su decisión basándose en la salida de un bloque predicado hexagonal.

: Predicado y valor booleano
Leer más ¿Cuál es el origen de la palabra booleano?

La palabra booleano se origina en el nombre de una persona, George Boole, que inventó la rama de las matemáticas que se ocupa de las operaciones booleanas (como y, o, y no).

Un predicado (predicate) es un reportero en forma de hexágono que hace una pregunta de verdadero/falso como estos ejemplos:
8 > 7 reporta verdadero 6 > 7 reporta falso

AAP-2.E.1

Los predicados reportan un valor booleano (Boolean value) (ya sea verdadero o falso).

Los predicados caben en ranuras de entrada hexagonales de condicionales, como en bloque si y repetir hasta. Los predicados ayudan a los condicionales a decidir cuándo hacer algo.

: Condiciones y condicionales

Los bloques si(if) y si / sino (if-else) se denominan condicionales porque controlan el código en función de una condición verdadera o falsa.

Haz clic para ver ejemplos de predicados que se usan dentro de condicionales.
más complicado quién {
    si (número al azar entre (1) y (4)) = (3) {
        reportar (unir (quién) (', quién') (hace) ( ) (quién) (,))
    } sino {
        reportar (quién)
    }
} cuando se pulse bandera verde:
repetir hasta que (tocando (líder)?)
{
    apuntar en dirección (líder)
    mover (1) pasos
}
  1. función misteriosa (entrada):
si (entrada < 5) (repetir hasta que (entrada = 5)
(
    decir (entrada) por (1) segs,
    asignar a (entrada) el valor (entrada + 1)
)
reportar (terminado) ¿Qué entradas a función misteriosa reportarán "terminado"?
    Cualquier número entero
    Solo números enteros mayores o iguales a 5
    Solo números enteros menores que 5
    Solo 5
  2. función misteriosa (entrada):
si (entrada < 5) (repetir hasta que (entrada = 5)
(
    decir (entrada) por (1) segs,
    asignar a (entrada) el valor (entrada + 1)
)
reportar (terminado) ¿Qué dirá el personaje si ejecutas la misma función con la entrada 1?
    burbuja de texto con un '4'
    burbuja de texto con un '5'
    cuatro burbujas de texto con un  '1', '2', '3' y '4'
    cinco burbujas de texto con un  '1', '2', '3', '4' y '5'
    La retroalimentación no ha terminado porque me di cuenta de que BH podría oponerse a cambiar el valor de una variable de entrada... --MF, 3/1/19
  3. función misteriosa (entrada):
si (entrada < 5) (repetir hasta que (entrada = 5)
(
    decir (entrada) por (1) segs,
    asignar a (entrada) el valor (entrada + 1)
)
reportar (terminado) ¿Qué sucederá si ejecutas la misma función con la entrada 9?
    El personaje dirá 9 y el bloque reportará "terminado".
    El personaje dirá 9, 8, 7, 6 y el bloque reportará "terminado".
    El personaje dirá 9, 10, 11, 12, 13,... y seguirá contando, y el bloque nunca reportará "terminado".
    El personaje no dirá nada y el bloque reportará "terminado".
    La retroalimentación no ha terminado porque me di cuenta de que BH podría oponerse a cambiar el valor de una variable de entrada... --MF, 3/1/19
  1. Cuando la computadora felicite al jugador por adivinar correctamente, haz que la computadora diga el número. Por ejemplo, podría decir: "¡Lo has adivinado! Mi número secreto era el 7".
    Usa unir para enlazar el texto "¡Lo has adivinado! Mi número secreto era" con el valor de la variable número secreto.