Juego de preguntas y respuestas con listas en Scratch

Introducción

En este tutorial vamos a realizar un juego de preguntas y respuestas utilizando las listas de Scratch y el sensor Preguntar. Nos servirá para aprender a utilizar las listas de forma básica y mejorar nuestras posibilidades de interacción con el usuario.

Deberías Saber

Objetivos

  • Aprender a utilizar listas en Scratch.
  • Fomentar la curiosidad intelectual buscando nuestras propias preguntas.

El personaje

Lo primero que haremos será elegir un personaje, el que quieras, yo me decanto por este monito tan majo. Él se encargará de realizar las preguntas al jugador. El juego empezará al presionar la bandera verde, y el mono nos irá haciendo las preguntas. Todos los programas que veas en este tutorial irán asociados al mono, que será el único objeto que tengamos.

Este mono tiene 3 disfraces diferentes, por lo que podrás irlos cambiando durante el juego. Puedes también añadir un fondo que te guste para nuestro juego.

Las listas

Las preguntas y las respuestas las guardaremos en listas. Si nunca has manejado una lista tranquilo, es muy fácil. 

Como observamos cuando se crea una lista aparecen nuevas instrucciones. Nos centraremos en las más básicas para el programa que queremos hacer. Crea una segunda lista que se llame Respuestas.

Añadiendo las preguntas y las respuestas

Ahora debes pensar unas cuantas preguntas con respuestas cortas y simples que podamos comprobar fácilmente. En mi programa preguntaré por años históricos importantes. Una vez pensadas tanto preguntas como respuestas solo falta añadirlas. Antes de añadir las preguntas borro todo el contenido de las listas.

¡Que empiece el juego!

Ahora ya tenemos las preguntas y las respuestas guardadas en nuestro programa, solo necesitamos que el personaje haga su labor. Para eso utilizaremos una variable que nos servirá para contar en qué pregunta estamos. Primero repasemos el código básico para hacer una pregunta y comprobar si es correcta. Mira.

  1. Primero saludamos con una instrucción Decir.
  2. Luego preguntamos con las instrucción azul claro. El texto utilizado para la pregunta es el primer elemento de la lista Preguntas.
  3. Finalmente comprobamos. Si la respuesta es igual al primer elemento de la lista Respuestas diremos que es correcta, si no es igual es que ha fallado.
Lee en alto todo el código, eso te ayudará a entenderlo mejor.

Utilizando un repetir y un contador

Como en este juego puede haber muchas preguntas tenemos que buscar una forma de ahorrar tiempo. Podemos usar las siguientes piezas para que nos ayuden.

Longitud de preguntas en mi caso es 5, porque hay 5 preguntas. Así que lo que pongamos dentro del Repetir lo hará 5 veces.

Como cada vez tiene que mostrar una pregunta diferente, primero la 1, luego la 2, y así sucesivamente, utilizaremos una variable que empiece valiendo 1, y después de cada pregunta valga 1 más: 2, 3, 4… Yo la he llamado Número de pregunta. Por lo que el código para hacer preguntas finalmente nos quedaría de la siguiente forma:

Este proyecto es muy fácil, para mejorarlo deberías intentar por tu cuenta alguno de los siguientes retos:

Haz un contador con preguntas correctas. Puedes hacer que además se muestre el porcentaje de aciertos.

Haz que tu personaje cambie de disfraz dependiendo de si has acertado o has fallado.

Muestra imágenes junto con las preguntas, de esta manera el proyecto quedará mucho más vistoso.

Puedes añadir una nueva lista con «pistas«, y dejar que el jugador pueda consultar una pista sobre la pregunta pero que sume menos puntos.

¿Qué mas se te ocurre?

No olvides compartir con nosotros tus creaciones. También puedes encontrar más bananas siguiéndonos en BananaCoders en la comunidad de Scratch o en nuestro Twitter @BananaCoders.

12 comentarios en “Juego de preguntas y respuestas con listas en Scratch

  • Adan

    Hola. Bien trataré de explicar lo que Nesecito. Uso DJ virtual para poner pistas de karaoke. Y quiero poner una lista de nombres. Y el título de la canción. Del próximo cantante de karaoke estos es por que es un rollo anotar. En papel el nombre de la persona y la canción que cantará. Sobre todo por que algunos piensan que los brincas. Así poniendo una lista que salga debajo de la pantalla sabrán quien sigue después y en orden. Esto lo he visto en unos bares que ponen karaoke pero no tengo ni idea de como hacerlo aún que buscado mucho en internet como poderlo hacer. No doy con nada o lo busco de manera incorrecta. Lo más Serrano es esta web. Por eso publico aquí . Alguien podrá destine si con Scratch. O con que programa puedo crear esas listas mill gracias se los agradeceré. Mi correo es adan_gf@hotmail.com aun así estoy dispuesto a dar una compensación a quien me ayude. Mill gracias.

  • Palomo.Ander Palomo.Ander

    y si tengo que hacer la pregunta en un juego que esta en movimiento como hago para que se para el juego mientras tengo que responder?

    • Alfonso Sanz

      Hola.
      Lo que se suele hacer es tener una variable que controla si el juego esta en movimiento o no. Cuando hagas la pregunta esa variable la pones en el estado de parado (por ejemplo, en 0), y cuando tengas la respuesta en el estado de «en juego» (por ejemplo, 1). El resto de programas que dependan de ella los puedes poner con un si la variable es 1, hacer lo que tengan que hacer, y si no, que no lo hagan.
      Espero que te sirva de ayuda.

    • Alfonso Sanz

      Hola.
      Crea un variable para los aciertos y otra para los fallos.
      Da a las dos variables el valor 0 al comienzo del programa.
      Cuando digas «bien» o lo que digas al acertar añade un bloque de «sumar a la variable de aciertos 1», y lo mismo pero cuando falles para la de fallos.
      Un saludo.

  • Isabella

    Si no hay el comando de fijar (NUMERO DE PREGUNTAS (LA VARIABLE) a 1, ni el de cambiar al (NUMERO DE PREGUNTA) por 1. Ayuda por favor !!!

    • Alfonso Sanz

      Hola.
      Sí que las hay pero con otros nombres. Ahora en vez de «fijar» se llama «dar», y en vez de «cambiar» se llama «sumar». En inglés sería «set» y «change by».
      Espero que te ayude, puedes consultarme más cosas en Instagram (@alfonsosanzme).

Deja un comentario