Con esta última entrada  agregamos una última mejora a nuestro juego del laberinto, que ya explicamos cómo hacer en este post y al que añadimos algunas dificultades la semana pasada en este otro post.

En este caso, se trata de que añadamos la posibilidad de contar con una serie de vidas que iremos perdiendo si chocamos con las paredes que tienen movimiento, o bajo la circunstancia que nosotros decidamos.


https://scratch.mit.edu/projects/60972240/

Para ello, tendremos que crear esta nueva variable, lo cual haremos acudiendo a “Datos”/ “crear nueva variable” a la que llamaremos, por ejemplo, “vidas”.

A continuación, será en nuestro objeto principal, la esfera azul, donde programaremos el uso que daremos a esta nueva variable. De modo que acudiendo a este objeto, utilizaremos el bloque “al presionar bandera verde” y, desde datos, arrastraremos el bloque “fijar vidas” e indicaremos el número de vidas con el que queremos que dé inicio nuestra partida.

Además, podemos añadir un mensaje de final de juego, de manera que cuando hayamos perdido las vidas, nos diga que “hemos perdido” y la partida se detenga. Como esta acción ocurrirá sólo en una ocasión, utilizaremos el bloque de control “esperar hasta que”, añadiendo el bloque de operadores “menor que”.

2 post 3

Utilizaremos la variable “vidas”, estableciendo que ha de “esperar hasta que vidas sea menor que 0”. Una vez indicada esta circunstancia, utilizando el bloque de apariencia “decir…por … segundos” escribiremos el mensaje de fin y añadiremos el bloque de control, “detener todos” dando así por finalizada la partida.

3 post 3

Finalmente, nos quedaría indicar bajo qué circunstancia perderemos una vida. De nuevo, esta instrucción la programaremos en nuestro objeto principal, la esfera azul. En este caso, como decíamos al inicio, queremos que reste una vida cuando toque la pared giratoria o la deslizante. Para ello, utilizaremos el bloque de eventos “al presionar bandera verde”, y como es una acción que ocurrirá durante toda la partida, el bloque de control “por siempre”. A continuación, como estamos programando que ocurra algo bajo una determinada condición, utilizaremos el bloque “si…entonces…” y el bloque de operadores “…o…”, de modo que a través del bloque de sensores “tocando…” indiquemos que “si toca la pared giratoria o la pared deslizante entonces” el número de vidas disminuya en uno, por lo que arrastraremos el bloque de datos, “cambiar vidas por (-1)”. Podemos programar, además, que al perder una vida vuelva al punto de inicio, arrastrando (dentro de este bloque condicional) el bloque “ir a x…y…” e indicándole la posición de inicio, e incluso, programar que nos diga que hemos perdido una vida, arrastrando el bloque de apariencia “decir … por … segundos”.

4 post 3

Ahora sí, nuestro juego del laberinto está completo. Pero recuerda, puedes introducir las mejoras y cambios que se te ocurran (puntuación, niveles, nuevos escenarios,…), los límites los pones tú.

A continuación tienes el vídeo en el que te lo explicamos todo paso a paso.