Juego: Misión Rescate – Escape del Laboratorio
Objetivo de la actividad
Crear en Scratch un videojuego en el que un personaje debe recorrer un laboratorio, recoger tarjetas de acceso, evitar enemigos y llegar a una salida antes de que se termine el tiempo.
Durante la actividad se utilizarán variables, condicionales, ciclos, eventos, sensores, operadores, mensajes y diferentes escenarios.
1. Preparar el escenario
Lo primero que vamos a hacer es crear el lugar donde se desarrollará el juego.
¿Qué debemos hacer?
- Abrir Scratch.
- Crear un proyecto nuevo.
- Eliminar el gato si no se va a utilizar.
- Buscar o dibujar un fondo que represente un laboratorio.
- Dibujar paredes, pasillos y zonas por donde el personaje pueda desplazarse.
2. Crear el personaje principal
Ahora vamos a agregar el personaje que controlará el jugador.
Puede ser un científico, astronauta, estudiante o cualquier personaje que tenga relación con el laboratorio.
Cambie el nombre del sprite a:
Jugador
Movimiento del personaje
Seleccionar el personaje y utilizar:
al presionar bandera verde
por siempre
si tecla flecha derecha presionada
cambiar x por 5
si tecla flecha izquierda presionada
cambiar x por -5
si tecla flecha arriba presionada
cambiar y por 5
si tecla flecha abajo presionada
cambiar y por -5
¿Qué está haciendo el programa?
El bloque “por siempre” hace que Scratch esté revisando continuamente qué tecla está presionando el jugador.
Por ejemplo, si se presiona la flecha derecha, el personaje aumenta su posición horizontal.
3. Evitar que el jugador atraviese las paredes
Ahora tenemos que solucionar un problema: el personaje podría atravesar las paredes.
Para evitarlo, después de cada movimiento podemos comprobar si el personaje está tocando el color de las paredes.
Por ejemplo:
si tocando color [color de la pared]
cambiar x por -5
Cuando el personaje avance y toque una pared, regresará a la posición anterior.
Se recomienda comenzar con:
5 pasos
y modificarlo si es necesario.
4. Crear las variables
Ahora vamos a crear las variables que controlarán el juego.
En Variables, seleccionar:
Crear una variable
Crear las siguientes:
PuntosVidasTiempoTarjetasNivel
Estas variables permitirán guardar información durante la partida.
Por ejemplo:
- Puntos = 50
- Vidas = 3
- Tarjetas = 2
- Tiempo = 45
5. Configurar el comienzo del juego
En el personaje principal:
al presionar bandera verde
fijar Puntos a 0
fijar Vidas a 3
fijar Tarjetas a 0
fijar Tiempo a 60
fijar Nivel a 1
ir a x: ___ y: ___
De esta manera, cada vez que se presione la bandera verde, el juego comenzará nuevamente.
6. Crear las tarjetas de acceso
Ahora vamos a agregar un nuevo sprite.
Puede utilizar una tarjeta, llave, documento o cualquier objeto que represente un elemento necesario para escapar.
Cambiar su nombre a:
Tarjeta
Colocar tres tarjetas en diferentes lugares del laboratorio.
Cuando el jugador toque una tarjeta, esta debe desaparecer.
En la tarjeta:
al presionar bandera verde
mostrar
por siempre
si tocando Jugador
cambiar Tarjetas por 1
cambiar Puntos por 10
esconder
¿Qué ocurre?
Cada vez que el personaje recoge una tarjeta:
- aumenta la cantidad de tarjetas;
- obtiene 10 puntos;
- la tarjeta desaparece.
7. Crear los enemigos
Agregar un nuevo sprite y cambiar su nombre a:
Enemigo
El enemigo debe desplazarse automáticamente.
Una forma sencilla es hacer que se mueva de un lado hacia otro.
al presionar bandera verde
por siempre
mover 3 pasos
si tocando un borde
rebotar
Después se puede modificar el valor de 3 para aumentar o disminuir la velocidad.
Segundo enemigo
Para aumentar la dificultad, se puede duplicar el enemigo y modificar su velocidad.
Por ejemplo:
- Enemigo 1 → 3 pasos.
- Enemigo 2 → 5 pasos.
8. Detectar cuando el enemigo toca al jugador
Ahora debemos programar qué sucede cuando el enemigo encuentra al jugador.
En el Jugador:
por siempre
si tocando Enemigo
cambiar Vidas por -1
ir a x: ___ y: ___
esperar 1 segundos
De esta manera, el personaje pierde una vida y regresa al punto inicial.
9. Crear el temporizador
Esta parte es importante porque el jugador tendrá un tiempo limitado para completar la misión.
Podemos utilizar un ciclo:
al presionar bandera verde
repetir hasta que Tiempo = 0
esperar 1 segundos
cambiar Tiempo por -1
fin
Cuando el tiempo llegue a cero:
si Tiempo = 0
decir "SE ACABÓ EL TIEMPO" por 3 segundos
detener todos
Una recomendación
El tiempo inicial puede ser:
60 segundos
Si el juego resulta muy fácil, se puede reducir a 45 segundos.
10. Crear la puerta
Agregar un sprite llamado:
Puerta
La puerta será el último obstáculo antes de llegar a la salida.
La idea es que el jugador no pueda pasar hasta conseguir las tres tarjetas.
Programar:
por siempre
si tocando Jugador
si Tarjetas = 3
decir "Acceso permitido" por 2 segundos
esconder
si no
decir "Necesitas las 3 tarjetas" por 2 segundos
Aquí estamos utilizando un condicional dentro de otro condicional.
Esto hace que el juego sea un poco más avanzado.
11. Crear la salida
Agregar otro sprite llamado:
Salida
Colocarlo al final del recorrido.
En el jugador:
por siempre
si tocando Salida
si Tarjetas = 3
decir "¡MISIÓN COMPLETADA!" por 3 segundos
cambiar Puntos por 50
detener todos
El jugador solamente podrá ganar si consiguió las tarjetas necesarias.
12. Crear el sistema de derrota
También debemos programar qué sucede cuando el jugador pierde todas sus vidas.
por siempre
si Vidas = 0
decir "MISIÓN FALLIDA" por 3 segundos
detener todos
De esta manera existen dos posibilidades:
Ganar: llegar a la salida con las tarjetas.
Perder: quedarse sin vidas o quedarse sin tiempo.
13. Agregar sonidos
Para que el juego sea más interesante, agregar algunos sonidos.
Por ejemplo:
Al recoger una tarjeta:
iniciar sonido [punto]
Al tocar un enemigo:
iniciar sonido [error]
Al ganar:
iniciar sonido [victoria]
No es necesario utilizar muchos sonidos. Lo importante es que tengan relación con lo que está sucediendo.
14. Crear un segundo nivel
Para que el juego sea realmente de nivel medio-avanzado, crear un segundo escenario.
Nivel 1
- 3 tarjetas.
- 1 enemigo.
- 60 segundos.
Nivel 2
- 5 tarjetas.
- 2 enemigos.
- 45 segundos.
- Más obstáculos.
- Mayor velocidad de los enemigos.
Cuando el jugador termine el primer nivel:
si Tarjetas = 3
cambiar fondo a [Nivel 2]
fijar Nivel a 2
fijar Tarjetas a 0
fijar Tiempo a 45