Catálogo de Actividades de Rockbotic
Continuamos con la creación del mítico juego del Pac-Man. En la parte primera de la programación del Comecocos en Scratch habíamos creado un par de variables que guardaban el valor de las vidas y de la puntuación durante la partida. También explicamos cómo hacer aparecer carteles informativos en función de los valores de dichas variables y la modificación de las mismas cuando el comecocos comía premios en forma de fruta.
(Ir a la parte 1 de esta entrada)
Ahora es el momento de definir el comportamiento del resto de elementos que nos faltan: los fantasmas, el comecocos y los escenarios.
LOS FANTASMAS
Hemos creado fantasmas de distintos colores. A cada uno de ellos se le va a asociar una acción a realizar. De esta manera hemos definido:
- Azul: aumenta la puntuación en un punto +1.
- Blanco: aumenta la puntuación en diez puntos +10.
- Verde: aumenta la puntuación en veinte puntos +20.
- Amarillo: disminuye la puntuación en un punto -1.
- Naranja: disminuye la puntuación en diez puntos -10.
- Morado: disminuye la puntuación en veinte puntos -20.
- Rojo: nos quita una vida -1.
- Gris: cambia durante un periodo de tiempo la imagen del escenario.
- Fucsia/Lima: establece durante un periodo de tiempo un fondo cambiante.
Además, en el código asociado a cada fantasma, aparte de la función a realizar cuando el señor Pac-Man se lo coma, hay que definir su movimiento.
En la imagen se muestra el código del fantasma azul. Al presionar la bandera verde se muestra el fantasmico, se le va moviendo lentamente (2 pasos) a la vez que se le va girando para cambiarle aleatoriamente su dirección. En el caso de que el color del fantasma toque con el color del comecocos, es decir, si Pac-Man se come al fantasma, se realiza la acción deseada, en este caso aumentar el valor de la puntuación en una unidad. Paso seguido se le esconde, se espera un segundo y se le vuelve a hacer aparecer en una posición al azar de la pantalla. De esta manera, siempre va a haber el mismo número de fantasmas de cada color en el juego. Para el resto fantasmas de otros colores el código asociado al posicionamiento inicial y movimiento es igual, lo único que varía es la acción a realizar.
Continuamos debajo con la programación del señor Pac-man. Sigue leyendo…
EL SEÑOR PAC-MAN
Por fin vamos a definir el comportamiento del protagonista de nuestro juego. Hay tres códigos distintos asociados al comecocos:
- Código de movimiento: en este juego vamos a guiar al personaje con el puntero del ratón. Cuando el programa detecte que Pac-Man está lejos del puntero, girará para mirar a su posición del mismo y se desplazará cinco pasos en esa dirección.
- Código de apariencia: no podíamos faltar a la apariencia del juego original, el abrir y cerrar de la boca. Para ellos nos definimos dos disfraces para el comecocos, uno con la boca abierta y otro con la boca cerrada, y los iremos alternando cada 0.2 segundos.
- Código asociado a variables: al igual que hicimos con los carteles de «Has ganado» y «Has perdido», nuestro personaje también se va alegrar o lamentar dependiendo de la situación, es decir, del valor de las variables en cada momento. Escribimos pues el siguiente código que hará al comecocos cambiar a un disfraz alegre o triste y a decir algo a través de un bocadillo de cómic.
Ya sólo nos queda ver qué pasa con el escenario.
EL ESCENARIO
Hemos coloreado cinco fondos:
El fondo Pac-Man, con imagen de un laberinto, es el que estará presente durante todo el juego menos en determinados momentos después de que el comecocos se ha comido a un fantasma de un color determinado. De esta manera, cuando se coma al fantasma gris el fondo se volverá negro haciendo más fácil la búsqueda del resto de fantasmas. Para que esto ocurra deben hacerse dos cosas:
1. Difundir a todos el mensaje «fondo» en el momento en el que el comecocos se coma al fantasma gris.
2. Que el código del escenario esté a la espera de recibir ese mensaje y ejecute las instrucciones asociadas a ese mensaje, en este caso, cambiar el color del escenario a negro durante 9 segundos.
De la misma manera se actuaría (enviando y recibiendo el mensaje «cambia color» ) cuando el comecocos se come al fantasma Fucsia/Lima. En este caso, en el escenario se van a ir alternando rápidamente los colores morado, verde y azul del fondo.
La interfaz final de nuestro juego quedará parecida a esta:
Y como pregunta final:
¿Que pasaría si la condición de ganar fuese «puntuación = 100» en vez de «puntuación>100»? ¿El comportamiento del juego sería el mismo?
Vuelve a la parte 1 de la programación del comecocos en Scratch
Catálogo de Actividades de Rockbotic
Mola!