Unidad 4: Iniciación a la programación con Scratch (VII).

 



9. Enviar y recibir mensajes.

Cada objeto, como ya sabes, se programa por separado. Si ocurre un evento en un objeto, el resto no tiene forma de saberlo. A veces necesitamos que los objetos puedan comunicarse entre sí.

Por ejemplo, en el ejercicio 3, el que tienes que hacer a continuación, la copa debe aparecer al final de la partida, cuando uno de los coches llegue a la meta. Pero, ¿cómo puede "saber" la copa cuándo ocurre esto? En Scratch, un objeto puede enviar un mensaje al resto utilizando este bloque (el coche al llegar a la meta):

Y otro objeto (la copa) puede actuar cuando lo reciba:


Ejercicio 4.

En este ejercicio tienes que crear un juego que simule una carrera entre dos coches, manejados por dos jugadores:



Estos son los archivos que necesitas para crear el juego:
Detalles a tener en cuenta:
  • Coloca el cartel de META al final del circuito. Al comenzar el juego, los dos coches deben estar delante de la línea de salida, apuntando hacia la derecha. La música empezará a sonar.

Opción 1.
  • Las teclas para manejar el coche de la izquierda serán: W (acelerar), A (girar a la izquierda), D (girar a la derecha), S (marcha atrás).
  • Las teclas para manejar el coche de la derecha serán: ↑ (acelerar), ← (girar a la izquierda), → (girar a la derecha), ↓ (marcha atrás).
  • Cuando se presione la tecla de acelerar, el coche se moverá 3 pasos.
  • Cuando se presione la tecla de girar a la izquierda, el coche se girará 15º hacia la izquierda.
  • Cuando se presione la tecla de girar a la derecha, el coche se girará 15º hacia la derecha.
  • Cuando se presione la tecla de marcha atrás, el coche se moverá 2 pasos hacia atrás.
  • Si el coche toca el borde de la pista, debe decelerar 2 pasos.
  • Si el coche toca el exterior de la pista, debe decelerar 3 pasos, es decir, se detendrá.
- Opción 2.
  • Los coches avanzarán solos. Para ello, vamos a crear dos  variables, una para controlar la velocidad del  coche violeta (velocidad_violeta) y otra para controlar la velocidad del coche amarillo (velocidad_amarillo).
  • Al comenzar el juego, la velocidad de ambos coches debe ser 0.
  • Para el coche violeta: Al presionar la tecla "0", la variable velocidad_violeta debe tomar el valor cero; al presionar la tecla "1", la variable velocidad_violeta debe tomar el valor 2; al presionar la tecla "2", la variable velocidad_violeta debe tomar el valor 3.
  • Para el coche amarillo: Al presionar la tecla "z", la variable velocidad_amarillo debe tomar el valor cero; al presionar la tecla "x", la variable velocidad_amarillo debe tomar el valor 2; al presionar la tecla "c", la variable velocidad_amarillo debe tomar el valor 3.
  • Para mover ambos coches, utiliza las variables de velocidad que has creado:
  • Cuando se presione la tecla de girar a la izquierda, el coche se girará 15º hacia la izquierda.
  • Cuando se presione la tecla de girar a la derecha, el coche se girará 15º hacia la derecha.
  • Si el coche toca el exterior de la pista, debe decelerar de esta forma:


- PARA AMBAS OPCIONES:
  •  Debes añadir una variable para controlar el TIEMPO de la partida. Se pondrá en marcha al pulsar la bandera verde.
  • Al acabar la partida, el coche ganador aparecerá, en grande, en mitad de la pantalla, junto a la copa: