Puntajes y Cronómetro
El sistema de puntaje es una mecánica de juego que permite recompensar al jugador por los logros obtenidos, muchos videojuegos utilizar este sistema por medio de monedas, dinero, puntos, entre muchos más. Por otro lado, el tiempo es un medio para controlar el proceso del videojuego, en algunos videojuegos reta al jugador con un tiempo límite de juego o recompensa por finalizar el nivel en un tiempo establecido. Estas mecánicas mejoran en la experiencia de juego. En esta lección aprenderemos a programar variables que guarden el valor del puntaje y el tiempo.
Sistema de puntaje
Vamos a crear el Puntaje de un juego donde el objetivo es que el Gusano recolecte hojas y manzanas. Agregaremos un sistema de puntaje que permita contar cada elemento (hoja y manzana) recolectado. A continuación, se muestra el juego actual, haz clic en este enlace para descargar el programa base para que practiques.

- Creamos una variable
, aquí se va a almacenar el Puntaje logrado cada vez que la hoja o manzana sean tocados por el Gusano. - Dentro de la programación del Gusano, agregamos el bloque
, esto permite que al iniciar el juego siempre el valor del puntaje se reinicie a cero.

- Agregamos un condicional que permite cambiar el Fondo Ganaste cuando
es igual a 20, el número de objetos por recolectar.

- En la programación de la manzana y hoja, dentro del condicional si el Objeto es tocado por el Gusano agregamos como acción a ejecutar si se cumple la condición
. Esto permite que al tocar el gusano dentro de la variable Puntaje se va a sumar cada vez un valor, que corresponde a los Objetos atrapados por el Gusano.

- Recuerda hacer clic sobre el recuadro que se encuentra a la izquierda de la variable
para visualizar su valor en el escenario.

- Probemos el programa, observa como aumenta el valor del Puntaje cada vez que recolectamos hojas y manzanas.

Cronómetro
Al juego anterior vamos a programar un cronómetro que se detenga justo cuando el Gusano recolecta todas las hojas y manzanas.
- Creamos una variable
, aquí sé almacenar el valor del tiempo en segundos. En el objeto Gusano, agregamos un nuevo bloque
y debajo
, esto nos asegura que cada vez que iniciemos el juego el cronómetro iniciará en cero.

- Para que un cronómetro cuente de forma ilimitada usa
, esto permite que aumente un valor de la variable
cada segundo. - Para efecto de este proyecto cambiaremos esa programación, ya que necesitamos que detenga el tiempo cuando se recolecten todos los objetos.
- Usamos un bloque
. La condición del bloque es
esto significa que ejecutará una instrucción de forma ilimitada hasta que se cumpla la condición que el valor de la variable Puntaje sea igual a 20. La instrucción a ejecutar es sumar cada segundo un valor a tiempo, que se define con los bloques
.

- Agregamos un condicional que permite cambiar el Fondo Ganaste cuando
es igual a 20. - La secuencia de instrucciones quedaría de la siguiente manera, fija el valor del tiempo a cero cada vez que inicia el juego y aumenta el valor de la variable
cada segundo (cronómetro) y se detiene cuando el valor del
es igual a 20.

- Probemos el juego, observa cómo inicia la cuenta del cronómetro y se detiene al recolectar todos los objetos.

Temporizador
Teniendo en cuenta el programa que realizamos inicialmente donde agregamos el sistema de Puntaje,(descargarlo aquí), vamos a modificarlo de tal forma que en el escenario haya un temporizador que si llega a cero, muestre un mensaje que indique que se acabó el tiempo para lograr el objetivo del juego.
- Creamos una variable
, aquí se almacenar el valor del tiempo en segundos. En el objeto Gusano, agregamos un nuevo bloque
y debajo
, esto nos asegura que cada vez que iniciemos el juego el temporizador inicia con un valor de 5 (puedes escribir el valor que tú quieras).

- Usamos un bloque
. La condición del bloque es
esto significa que ejecutará una instrucción de forma ilimitada hasta que se cumpla la condición que el valor de la variable
sea igual a 0. La instrucción a ejecutar es restar cada segundo un valor a tiempo, que se define con los bloques
.

- Agregamos un condicional que permite cambiar el Fondo Perdiste cuando
es igual a 0. - La secuencia de instrucciones quedaría de la siguiente manera, fija el valor del tiempo a 5 (valor que tú defines) cada vez que inicia el juego y disminuye un valor de la variable
cada segundo (temporizador) y se detiene cuando el valor del
es igual a 0, mostrando un mensaje que indica que se acabó el tiempo y perdiste.

- Probemos el juego, observa cómo inicia la cuenta del cronómetro y se detiene al recolectar todos los objetos.


