En esta entrada vamos a aprender a utilizar las variables (que sirven para gestionar datos) en la herramienta Scratch.
Las variables son una especie de casilleros en los que podremos almacenar datos. Pero… ¿para qué nos pueden hacer falta las “variables” en los videojuegos?
Hay veces en las que necesitamos tener almacenado un valor y a lo largo de la partida ir consultándolo o modificándolo. Un ejemplo muy claro son las vidas de los personajes. Es muy habitual que en los juegos se ofrezca la posibilidad de que el usuario realice varios intentos para poder terminar la partida con éxito. Es lo que habitualmente se denominan “las vidas” de los personajes. Pues bien, ¿cómo podríamos incluir vidas a nuestros videojuegos?
Si lo pensamos, éstas no son más que unos valores… son “variables”. Al principio del programa tendrá un valor determinado, la cantidad de vidas u oportunidades para intentar superar el juego, y conforme se vayan perdiendo vidas, este valor tendrá que ir disminuyendo hasta llegar a cero… El temido “Game Over”
¿Cómo se crean las variables en Scratch? Es muy sencillo:
Se encuentran en la pestaña “Datos” y se crean pulsando sobre el botón “Crear una variable”. Podremos escoger entre: “Para todos los objetos” si queremos que cualquier objeto de nuestro videojuego pueda ver y manejar esta variable o bien “Sólo para éste objeto” si sólo este objeto va poder acceder a la variable. Si tienes dudas, escoge la primera opción.
Después de crear una variable, ésta se visualizará automáticamente y podremos actuar sobre su contenido mediante los bloques de la pestaña “Datos”.
Un truco: si haces doble clic sobre el marcador cambiará de aspecto. Elije el que más te guste.
¡Bien! Ahora tenemos que aprender a manipular su valor.
La primera operación que tenemos que realizar antes de poder usar una variable es inicializarla, es decir, asignar el valor inicial con el que queremos que comience la partida. En nuestro caso, por ejemplo, podríamos decidir que cuando comience a ejecutarse el programa (es decir, cuando comienza una partida) se fijara el valor de la variable vidas a 3.
Luego, a lo largo del programa, tendremos que controlar cuándo ir restando vidas y, lo que es más importante, cuándo hemos llegado al final de la partida (ya que las vidas han llegado a cero).
Para ello, a modo de ejemplo, vamos a tomar el videojuego desarrollado en las diapositivas Arkanoid (I) y propondremos una modificación para que incluyan vidas:
Tomaremos el programa propuesto para la bola:
y lo cambiaremos por este otro:
La modificación realizada es la siguiente:
- Cada vez que la bola baja más de la cuenta comprobaremos cuántas vidas tenemos.
- Si aún nos quedan vidas (porque el valor de la variable vidas es mayor que cero), tendremos que restar uno al valor vidas y la partida continuará.
- Ahora bien, en el caso de que no tengamos más vidas que gastar (porque el valor de la variable vidas sea cero) se terminará la partida.
¡Parece que ya lo hemos conseguido!
Sin embargo, para que hacer que el juego parezca más real, cada vez que se pierda una vida deberíamos realizar la siguiente secuencia:
- Llevar la bola al centro
- Apuntar hacia arriba
- Esperar un segundo
- Continuar con la partida.
¿Serías capaz de conseguirlo? ¡Seguro que sí!
Aquí te dejamos una posible solución:
Aunque quizás lo mejor es que veas directamente el resultado:
Ya sabes un poco más de Scratch. ¿Te animas a aplicar las variables a tus videojuegos? Cuéntanos cómo.
¡Hasta pronto!
Imagen de cabecera: Arkanoid! On the iPhone! de Devar
[…] Las variables: vidas en un videojuego de Scratch Autor: José Ignacio Huertas […]
[…] artículo Las variables, vidas en un videojuego de Scratch explica cómo modificar una versión simple del clásico videojuego Arkanoid (arkanoid simple para […]
Tengo un problema le tengo puesto al juego Objeto 1 y objeto 2 y si el objeto1 toca al objeto 2 quiero que de 100puntos de vida le reste -1 pero no se por que se me quitan los 100 automaticamente, he probado de dos o tres formas y me pasa igual con todas ellas
Hola, Adrián,
Sospecho que lo que ocurre es que le quita una vida, pero al momento vuelve a comprobar si está tocando al objeto 2 y le vuelve a quitar otra, y así. Por tanto, justo después del bloque en el que restas una vida, pon un bloque «esperar 1 segundo», para que haya tiempo de mover al personaje antes de que le quite otra vida.
Ya nos contarás 🙂
Saludos.
[…] clase 5, vamos a pediros que vayáis un pasito más allá. Así, podéis echar un ojo al artículo Las variables, vidas en un videojuego de Scratch en el que se explica cómo modificar una versión simple del clásico videojuego Arkanoid (arkanoid […]
Hola, cuando he puesto la etiqueta «si no», después «decir HAS PERDIDO durante 3 segundos» y «detener todos» no dice eso , el juego sigue bajando vidas y no se detiene
Dan mucho juego los variables….muchas gracias por el material
Excelente material de trabajo para los estudiantes