domingo, octubre 27, 2019

Tutorial sencillo en Scratch para usar clones


Una de las ideas que tenemos para trabajar con Scratch es que los alumnos de 6º puedan hacer juegos con actividades educativas para los más pequeños. Con eso creemos que vamos a incrementar su motivación al ver que su trabajo resulta útil para otros.

En esta ocasión se va a mostrar al jugador diferentes figuras planas y va a tener que hacer clic sobre los círculos. Para eso vamos a empezar con una actividad sencilla para que aprendan algunos conceptos básicos:
  • Cambio de disfraces.
  • Coordenadas X e Y de los objetos.
  • El uso de números aleatorios. En este caso vamos a hacer que se muestren diferentes figuras planas según el valor de un número aleatorio.
  • Envío de mensajes.
  • Creación de clones de los objetos. Esta opción de Scratch nos permite crear copias exactas de un objeto que se comportarán de la misma manera.
En este juego vamos a usar tres objetos:
  1. Gato. Es el que dice lo que hay que hacer y también nos informa cuando hemos completado el juego.
  2. Círculo. Crearemos 5 clones de este objeto y el jugador tendrá que hacer clic sobre estos objetos.Lo dibujaremos directamente en Scratch.
  3. Figura. También crearemos varios clones de este objeto. Tendremos dos disfraces uno de "cuadrado" y otro de "rectángulo". Los dibujaremos los dos en Scratch.
Además vamos a usar:
  • Un mensaje llamado FINAL. Lo enviará el objeto CÍRCULO cuando se haya hecho clic en todos los círculos. Al recibirlo, el gato dirá que se ha completado el juego.

El código que vamos a introducir en el gato es el siguiente:

En la primera parte hacemos que, al empezar el juego, la variable puntos tenga el valor cero. En la segunda hacemos que al recibir el mensaje FINAL, el gato cambie su mensaje e indique que se han encontrado todos los círculos.

El código dentro de círculo será:

En (1) primero se muestra el objeto y después se repite 5 veces la creación de un clon. 
En (2) hacemos que al empezar el clon se coloque en una posición aleatoria. Scratch cuenta con un bloque para colocar un objeto en una posición aleatoria pero podría colocarlo encima del gato o de forma que no se viera completo. Por eso en este caso hemos preferido elegir nosotros el rango de los valores aleatorios para que se coloquen en la parte de la pantalla que queremos.
En (3) hacemos que al clicar en el objeto se incremente la variable puntos. Después comprobamos si se ha llegado a seis puntos, es decir, se ha hecho clic sobre todos los círculos. Si se ha llegado a seis, envíamos el mensaje FINAL. Por último escondemos y eliminamos el clon. Hacemos las dos cosas porque una "funciona" con los clones y la otra con el círculo original.

El código dentro de figura:
(1) es muy similar a lo que antes hemos comentado para el círculo, al empezar creamos 7 clones del objeto.
(2) cuando se haga clic en el objeto, dirá durante 2 segundos que no es un círculo.
(3) Al recibir el mensaje FINAL, se ocultará
(4) al comenzar como clon lo colocamos en una posición aleatoria como ya hemos comentado para los círculos. Después generamos un número aleatorio y si es uno, se pone el disfraz de "cuadrado" y es dos, el de "rectángulo".

Con esto habremos completado el proyecto. Puedes verlo y hacer tu propia versión en el siguiente enlace:  https://scratch.mit.edu/projects/339618711/

No queda perfecto porque al usar posiciones aleatorias, unos objetos pueden tapar a los otros. Resolverlo completamente es demasiado complejo para el nivel que tienen ahora nuestros alumnos. Para mejorarlo, podemos hacer que se generen posiciones aleatorias mientras toque alguno de los colores de los otros objetos. En el siguiente código puedes ver la mejora:
Se repetirá la generación de una posición aleatoria hasta que no esté tocando el color rojo ni el azul. 

No hay comentarios:

Publicar un comentario