Scratch, programación al alcance de todos (parte 3)Sergio Sancho Azcoitia 11 marzo, 2020 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 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 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 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 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 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: Scratch, programación al alcance de todos (parte 1) Scratch, programación al alcance de todos (parte 2) Cómo encontramos cinco vulnerabilidades en los Router D-Link 859Exprimiendo interfaces APIs para cazar amenazas
Telefónica Tech Boletín semanal de ciberseguridad, 18 — 24 de junio Caída de los servicios de Microsoft Office 365 y Cloudflare a nivel mundial A lo largo del pasado martes se vieron interrumpidos múltiples servicios web a nivel mundial. El origen...
Cristina del Carmen Arroyo Siruela Día de la mujer ingeniera: construyendo nuevos caminos El término “ingeniero” proviene del latín, ingenium, en castellano ingenio. Desde hace mucho tiempo, se ha asociado el mundo de la ingeniería con el sexo masculino. Pero ¿es el...
Cristina del Carmen Arroyo Siruela Los ataques más comunes contra las contraseñas y cómo protegerte Una credencial de acceso es básicamente un nombre de usuario y una contraseña asociada a esa persona y a los permisos de accesos que tiene otorgados para una aplicación,...
Telefónica Tech Webinar: Sports Tech, la revolución digital del fútbol El pasado 15 de junio desde Telefónica Tech organizamos un webinar dedicado a la tecnología en el deporte: “Sports Tech, la revolución digital del fútbol”, disponible ya en nuestro...
Telefónica Tech Boletín semanal de ciberseguridad, 13 — 17 de junio Hertzbleed. Nuevo ataque de canal lateral contra procesadores AMD e Intel Investigadores de seguridad de varias universidades de Estados Unidos han descubierto un nuevo ataque de canal lateral que afecta...
Telefónica Tech ¡Estamos de estreno! Conoce la nueva web de Telefónica Tech Cyber Security & Cloud En Telefónica Tech no dejamos de crecer y de trabajar para ser el partner tecnológico de las empresas en su proceso de transformación digital. Como parte de este propósito Telefónica Tech...