1. Gamificación

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:

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.

  1. Lo primero de todo: haz clic en el objeto de la letra A, para añadir su programa de bloques.
  2. Empezaremos a arrancar las acciones al presionar Bandera (bloque Eventos: "al presionar bandera").
  3. Haremos que se mueva 3 pasos (bloque Movimiento: "mover 3 pasos").
  4. 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.

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:

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.