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

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.

Otra forma diferente de meter los diálogos en las listas es ir escribiendo de uno en uno lo que habla cada personaje en su lista haciendo clic en el botón + y tecleando el texto. El ejemplo que se pone debajo da una idea rápida.

image.png

Otra forma mucho más rápida es meter los diálogos en un texto escrito en el bloc de notas y luego importarlo a la lista. Si escribimos separado por comas lo que dice cada personaje en la misma linea es más sencillo seguir el hilo de la conversación. Luego al importar el texto en cada columna nos pedirá qué columna insertar. Para importar hacemos clic derecho sobre la lista y aparece el menú de importar

image.png

En este ejemplo se puede ver el bloc de notas con las conversaciones de los dos personajes separados por comas. 

image.png

Importamos el documento de texto y si tiene el diálogo separado por comas nos pedirá qué columna importar. Por ejemplo la columna 1 para la list de conversación del personaje 1 y la columna 2 para la lista de la conversación del personaje 2.

image.png

El guión que se desarrolla en esta práctica es el siguiente:

Dos personajes que tienen como escenario de teatro un espacio ambientado en una pista de béisbol. Uno de los personajes es un niño que está llorando porque el entrenador no lo ha seleccionado para jugar en el próximo partido local. El niño se esfuerza tanto que pierde horas de sueño por practicar con el bate. Por la mañana el niño se encuentra cansado y el entrenador le anima a esforzarse. Es entonces cuando comienza la historia interactiva.

Puedes copiar o reinventar el proyecto en el siguiente link Reto2