Skip to main content

Sesión tercera. Reto 2

Enunciado: 

Diseña y programa en Scratch unas escenas teatrales en la que dos personajes se comuniquen entre sí. El diálogo se crea de forma interactiva según las instrucciones que les de en ese momento el usuario del programa.

Condiciones: 

  • El programa tiene que dar la opción de crear una nueva función teatral o repetir la ultima existente.
  • Al menos dos personajes.
  • Al menos 2 fondos de escenario.
  • La interacción sucede cuando el programa pregunta al usuario lo que cada interlocutor del diálogo tiene que decir.
  • Posteriormente las escenas se suceden automáticamente con la intervención dialogada de los personajes.
  • Tienes que dar vida a los personajes poniéndoles voz, puede ser la tuya grabada o la que sintetiza Scratch.

Este proyecto incluirá variables y listas en la conversación entre dos personajes. El concepto de una variable es más sencillo que el de una lista pero cuando trabajamos con listas el programa se simplifica bastante.

Por ejemplo si añadimos 30 diálogos necesitaremos 30 variables, lo que dificulta mucho entender el funcionamiento del programa. Esto se soluciona con el empleo de listas. Si hay dos personajes se crean dos listas y el diálogo de cada personaje se incluye en cada elemento de su lista, de forma ordenada, para luego poder recuperarlo.

En esta práctica guiada vamos a necesitar los siguiente bloques:

De eventos: que hacen posible que se ejecuten las instrucciones que se colocan debajo de ellos, por ejemplo al recibir un mensaje.

image.png

De apariencia: que permiten comunicarse a los personajes y cambiar su forma o apariencia.

image.png

De control: Que permite que el programa haga una cosa u otra dependiendo de la condición que le demos.

image.png

Operadores: Que permiten realizar operaciones matemáticas o comprobar si se cumple una condición. Este bloque comprueba si dos valores son iguales.

image.png

Sensores: que permiten que haya interacción con el usuario del programa. La respuesta que teclea el usuario a la pregunta que hace el programa se guarda en la variable "respuesta".

image.png

Crear listas: Para crear un lista tienes que ir al menú de la categoría de Variables:

image.png

En el ejemplo de abajo se ha creado una lista llamada "conversación Juan". Insertamos el diálogo "¡Hola Pedro!" en el número 1 de su lista:

image.png

Cuando queramos recuperar "¡Hola Pedro!" tendremos que usar el bloque "elemento 1 de la lista "conversación Juan":

image.png

Podemos insertar el bloque sensor "respuesta" en lugar del ¡Hola Pedro! para posiblitar la interacción.

image.png

Texto a voz: permiten sintetizar la voz del texto introducido en el bloque decir ( hola ) con el tono elegido en el bloque "asignar voz a ( chillido )".

image.png

Actualmente Scratch permite elegir entre 4 tonos que darían vida a 4 personajes con una voz diferente:image.png

En lugar de teclear el texto "hola" podemos poner el elemento que corresponda de la lista.

image.png

El programa se desarrollaría como sigue: 

Inicialmente se pregunta al usuario lo que los dos personajes (Juan y Pedro) tienen que decir. En el ejemplo se han puesto 2 diálogos. El programa termina con el bloque enviar el mensaje (diálogo) y esperar.

Este es uno de los programas que tiene el personaje Juan:

image.png

Cuando el mismo objeto (en este caso el personaje Juan) recibe el mensaje diálogo comienza su escena hablada y termina enviando el mensaje (turno de Pedro 1) para que el segundo personaje (Pedro) responda al primero.

image.png

Y cuando el personaje Pedro recibe  el mensaje (turno Pedro 1) se reproduce su diálogo. Posteriormente enviará el mensaje "turno Juan 2" para que el primer personaje diga su segundo diálogo.

image.png

El juego se repite enviando y recibiendo mensajes hasta completar todos los diálogos.