Scratch, programación al alcance de todos (parte 3)

Sergio Sancho Azcoitia    11 marzo, 2020
Scratch, programación al alcance de todos (parte 3)

En los dos anteriores posts de esta serie te contamos qué es Scratch y cómo está organizada su estructura. En esta ocasión te vamos a enseñar cómo utilizarlo para crear un juego educativo de preguntas y respuestas enfocado al ámbito de la ciberseguridad. ¡Vamos a ello!

Creando juegos didácticos con scratch

Lo primero de todo será crear un proyecto. Para ello sólo tendrás que acceder a tu cuenta de Scratch (si no dispones de una, deberás crearla antes) y entrar en el apartado “mis cosas” (en el menú superior derecho). Desde esta pantalla pulsaremos en “Nuevo proyecto” para que se abra el editor.

Para este juego tendremos que crear distintos programas: por un lado, irá el juego; y por otro, una cuenta atrás para añadir un poco de presión a los jugadores. Al igual que haríamos en cualquier otro entorno de programación, lo primero que haremos será definir nuestras variables. En este caso utilizaremos 3 (puntuación, respuesta del usuario y tiempo), y para crearlas sólo tendremos que acceder al apartado variables y pulsar en “Crear una variable”. Para terminar, marcaremos aquellas que se muestren por pantalla durante el juego, en este caso serían puntuación y tiempo.

Figura 1: Crear variables en Scratch
Figura 1: Crear variables en Scratch

A continuación, nos iremos al apartado “Fondos” de nuestro editor y crearemos un fondo para nuestro juego (podemos seleccionar una de las imágenes de Scratch o cargar una que tengamos en nuestro ordenador). Hecho ésto, el siguiente paso es utilizar un bloque de eventos para que inicie el juego. Después asignaremos a la variable “puntuación” el valor 0. Más tarde utilizaremos bloques de apariencia para cargar el fondo creado anteriormente y explicar las reglas del juego con otros bloques de apariencia.

Figura 2: Bloque de inicio del juego
Figura 2: Bloque de inicio del juego

Cómo elaborar preguntas

Ahora que ya tenemos el comienzo del juego, el siguiente paso es crear las preguntas. Para ello utilizaremos listas y bucles. Lo primero será elaborar una pregunta y pensar en 4 posibles respuestas (habiendo sólo 1 correcta). Para poder mostrar las respuestas por pantalla utilizaremos las listas y algunos de los comandos diseñados para ellas que podemos encontrar en el apartado de variables (mostrar/ocultar lista).

Para realizar la pregunta utilizaremos un bloque del apartado sensores y para almacenar la respuesta del usuario utilizaremos otro bloque similar al utilizado para asignar el valor inicial de la puntuación. Por ultimo teniendo en mente la respuesta correcta crearemos el bucle que informara al jugador de si ha acertado o fallado sumándole un punto por cada acierto que tenga, para ello utilizaremos bloques del apartado operadores.

Figura 3: Ejemplo de pregunta
Figura 3: Ejemplo de pregunta

Para que sea más sencillo construir el código final y que éste no sea muy largo, podemos utilizar la función de crear bloques, como se ve en la imagen anterior. Una vez que hayamos creado todas nuestras preguntas sólo tendremos que llamar a los bloques en el orden que queramos para que, al contestar una pregunta, salte automáticamente a la siguiente.

Para terminar…

Ahora que tenemos nuestras preguntas listas sólo nos queda finalizar el juego. Para ello hemos decidido crear un bloque de finalización que muestra la puntuación obtenida y que, en caso de haber acertado más de la mitad de las preguntas, te felicita. Al igual que con las preguntas, podemos crear una función utilizando el apartado “Mis Bloques” y nombrarla, al fin y al cabo siempre es más cómodo trabajar con pequeños fragmentos de código.

Figura 4: Marcador de puntuación
Figura 4: Marcador de puntuación

Por último, y para añadirle un poco más de emoción al juego, crearemos una cuenta atrás para que el tiempo para responder cada pregunta sea de 15 segundos aproximadamente. La cuenta atrás comenzará al mismo tiempo que aparezca la primera pregunta por pantalla; para ello tendremos que calcular el tiempo que tarda el comienzo del juego y utilizar el bloque “esperar (x) segundos”.

Figura 5: Código para la cuenta atrás
Figura 5: Código para la cuenta atrás

Para elaborar nuestro temporizador hemos asignado a la variable tiempo el número desde el que queremos que comience la cuenta atrás. Después hemos utilizado un bucle para que el marcador de tiempo baje 1 punto cada segundo hasta alcanzar el valor 0. Cuando se acabe el tiempo avisaremos a los jugadores con un mensaje y les diremos cuál ha sido la puntuación obtenida. Al igual que con el temporizador, deberemos añadir un script de finalización para el juego.

Ahora que ya tenemos todas las partes del juego por separado, sólo queda juntarlas. Para ello usaremos nuestros bloques creados exceptuando los correspondientes a la cuenta atrás, ya que funcionan de forma independiente y simultánea al programa principal.


Si todavía no lo has hecho, lee aquí los anteriores posts de esta serie sobre Scratch:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *