1. Gamificación
- Gamificación
- Scratch
- La idea del juego
- Movimiento de la letra
- Movimiento del lápiz
- Colisión del lápiz con la letra
- Resultado final
Gamificación
Con los contenidos vistos hasta ahora curso de Scratch básico, ya se ha tratado todo lo necesario para poder superar los objetivos de aprendizaje. En este módulo vamos a afianzar los conocimientos adquiridos. Para ello, vamos a crear un nuevo juego sencillo en Scratch.
Mira esta presentación, fíjate en los siguientes conceptos:
- Preguntas y respuestas
- Apuntar y pulsar
- Arcade
- Movimiento, rebote y colisiones
- Aventuras gráficas
Scratch
Antes de nada ¿Dónde se ubica Scracth dentro de las estrategias de pensamiento computacional? En CATEDU hemos elaborado la siguiente hoja de ruta de toda la oferta que tenemos para el pensamiento computacional:
Importante
Para hacer este curso hay saber algunos conocimientos de (Curso básico de Aularagón por ejemplo) por si acaso, contesta estas preguntas:
La idea del juego
Vamos a programar un juego con Scratch.
La idea de este juego es lanzar un lapicero contra una letra con el objetivo de acertar a darle. La letra se moverá para evitar ser alcanzada. Cuando lo consigamos, la letra desaparecerá, y sumaremos la puntuación de 1 punto.
Empezaremos montando los objetos que participarán en nuestro juego. Scratch tiene en su biblioteca de imágenes: letras y un lapicero. Con estas imágenes ya tenemos lo necesario para montar nuestros objetos.
Sin embargo, con idea de hacer el juego algo más original, podemos coger dibujos de Internet para montar el juego, o incluso crear con alguna herramienta de dibujo nuestros propios objetos. Para el juego que vamos a trabajar, vamos a utilizar los siguientes dibujos.
Descárgatelos a tu ordenador (botón derecho - guardar imagen como) porque vamos a montar el juego con ellos.
Creación propia, utilizando un editor de textos (OpenOffice Writer), simplemente añadiendo un rectángulo y una letra dentro, y luego capturando la pantalla.
Fuente: https://openclipart.org/detail/64429/pencil El lapicero está rotado con Gimp.
Fuente: https://openclipart.org/detail/49363/blackboard
Caso práctico: Incluir los objetos de nuestro juego
Empezamos a montar el entorno de objetos de nuestro juego.
Añade la letra A y el lápiz como objetos de Scratch. Revisa que el nombre del objeto A se llame A (botón dcho sobre el objeto - info) porque lo usaremos posteriormente.
Añade la pizarra como fondo.
Ponle un nombre al proyecto: LAPICERO PUNTERO
Solución
Movimiento de la letra
Caso práctico: La letra se mueve sola
Vamos a hacer que la letra A se mueva. La letra A debe moverse de izquierda a derecha cambiando de dirección cuando llegue al borde.
- Lo primero de todo: haz clic en el objeto de la letra A, para añadir su programa de bloques.
- Empezaremos a arrancar las acciones al presionar Bandera (bloque Eventos: "al presionar bandera").
- Haremos que se mueva 3 pasos (bloque Movimiento: "mover 3 pasos").
- Cuando llegue al borde de la pantalla, haremos que cambie de dirección (bloque Movimiento: "rebotar si toca un borde").
Solución
Empezamos a construir la solución. Empezamos poniendo estos bloques:
Al arrancar el programa haciendo clic en la Bandera, veremos que la letra A se mueve 3 pasos a la derecha, pero sólo se mueve una vez.
Por lo tanto, a los bloques que ya tenemos hay que añadirles un bloque de Control: "por siempre", y meter ahí dentro el movimiento y control de rebote. Esto genera un bucle, de forma que la letra A no deje de moverse nunca.
Siguente paso: a los bloques que ya tenemos, les metemos el bloque "por siempre", y el programa quedará de la siguiente forma:
Para asegurarnos que la letra A está posicionada siempre en la misma posición al iniciar el juego, ponemos su posición fija al inicio, por ejemplo con con x=-160 y=110 (bloque Movimiento: "ir a x: -160 y: 110").
Hacemos que A apunte a la derecha para que empiece a moverse hacia la derecha (bloque Movimiento: "apuntar en direccion 90"). Es posible que el programa funcione bien incluso sin este bloque, pero así nos aseguramos que la letra se va a empezar a mover hacia la derecha y no hacia otro lado.
Con esto ya hemos terminado el PROGRAMA que hace que la letra se mueva sola, y siempre empiece desde la misma posición.
Movimiento del lápiz
Caso práctico: mover el lápiz
Haremos que el lápiz se mueva a izquierda y derecha al presionar flechas izquierda y derecha.
Solución
Caso práctico: lanzar el lápiz
Al presionar Flecha arriba, haremos que el lápiz se mueva constantemente hacia arriba, hasta llegar al borde de arriba.
- Iniciamos el programa con el bloque de Control "al presionar tecla flecha arriba".
- Utilizar el bloque Movimiento "cambiar y por 10" para hacer que el lápiz se mueva hacia arriba.
- Añadir el bloque de Control "repetir hasta que < >" para hacer que el bucle se repita constantemente, y que se salga del bucle al llegar a una condición. Habrá que meter el bloque de Movimiento dentro del bucle.
- Utilizar el bloque Sensor "tocando.. borde" para detectar que hemos llegado hasta arriba. Esta será la condición de salida del bucle.
Solución
Cuando llegue el lápiz arriba del todo, es decir: cuando se termine el bucle que comprueba si el lápiz ha tocado un borde, lo volvemos a poner en su situación inicial.
Solución
Colisión del lápiz con la letra
Caso práctico: detectar colisión con la letra
El objetivo es alcanzar con el lápiz la letra que se mueve.
Para controlar la colisión seguimos añadiendo bloques en la programación del objeto lápiz, en el programa que se inicia "al presionar tecla flecha arriba".
Si detectamos que estamos tocando la letra A, enviaremos el mensaje "impacto-A" a la letra A para decirle que desaparezca.
Habrá que pensar dónde colocar estos bloques.
Solución
Estos son los bloques que controlarán que si el lápiz toca el objeto A, entonces se envía el mensaje "impacto-A":
Estos bloques los colocaremos justo después de haber movido el lápiz en 10 posiciones hacia arriba:
Ahora tenemos que recoger el mensaje "impacto-A" en el objeto A. Por lo tanto, haremos clic en el objeto A para modificar los bloques de su programación.
Añadiremos un bloque de programación en el objeto A: Cuando se reciba el mensaje "impacto-A", haremos que el objeto A desaparezca.
Solución
Ahora, cuando el objeto A es impactada por el lápiz, desaparece y ya no vuelve a aparecer. Tendremos que hacer que al inicio del juego, el objeto A aparezca visible. Lo podremos añadir en el programa ya existente que mueve la letra A.
Solución
Caso práctico: Añadir puntuación
Añadiremos un marcador de puntos al juego. Haremos que los puntos se incrementen al detectar la colisión del lápiz con la letra.
Crear una variable llamada PUNTOS.
Solución
En la programación del objeto A:
- Al inicio del programa, ponemos los puntos a 0.
- En el momento de detectar colisión, sumamos 1 en la variable puntos.
Solución
Resultado final
Hasta aquí, hemos creado una programación para el juego de lanzar un lápiz contra una letra.
Los programas del objeto A queda por tanto de la siguiente forma:
Los programas del objeto lapiz quedan por tanto de la siguiente forma:
¡YA LO TENEMOS!. Utilizando Pensamiento Computacional, hemos conseguido montar un pequeño juego con Scratch.