sábado, 21 de abril de 2018

Snap!: Estructuras condicionales

Hagamos que nuestro programa tome decisiones. Para ilustrar la explicación, desarrollaremos un programa en el que un personaje pregunte al usuario por el resultado de multiplicar dos números extraídos al azar entre 1 a 9. Si el usuario introduce la respuesta correcta, el personaje lo felicitará y deberá cambiar su postura o expresión en señal de alegría. Si no, deberá decirle que se ha equivocado y mostrará el resultado correcto. El proceso deberá repetirse una y otra vez en un bucle infinito.

En el enunciado de este ejercicio aparecen dos conceptos nuevos: por un lado decisión de actuar de un modo u otro según la condición de que se haya acertado o fallado en el resultado.

Por otro lado el cambio en el gesto del personaje si se acierta. Intentaremos explicar estas dos cuestiones.

En primer lugar elegiremos un escenario adecuado y cargaremos dos disfraces con diferente gesto para el objeto 1.


A continuación empezamos creando tres variables, una para cada uno de los dos números que hemos de extraer al azar y otra que utilizaremos para guardar el resultado de la multiplicación de esos números:


A las variables creadas les asignamos sus valores en el arranque del programa:


A continuación le preguntamos al usuario usando el bloque preguntar y esperar:


donde hacemos uso del bloque unir para componer nuestra pregunta. En este punto el programa espera la respuesta del usuario y tras introducirla es guardada en el bloque 

Por ello el siguiente paso será comprobar si la respuesta del usuario es correcta, es decir si respuesta es igual a resultado. Para ello hacemos uso del bloque si-sino de la categoría Control:


Si la condición se cumple, es decir, si el contenido de respuesta es igual al contenido de la variable resultado, el personaje deberá felicitar al usuario. Por ello, dentro de ese hueco, usamos el bloque decir y esperar configurado como se muestra:

Si la condición se no cumple, dentro del hueco sino deberemos decir al usuario que se ha equivocado y mostrarle el resultado correcto. Lo hacemos mediante:


Finalmente utilizamos un bucle por siempre para repetir todo el proceso indefinidamente y obligamos al principio del programa a que el disfraz del personaje sea el normal para evitar que empieza con el gesto contento. El resultado final es:


<< Anterior Siguiente >>

No hay comentarios:

Publicar un comentario