jueves, 15 de enero de 2015

Puzzle interactivo


En esta sesión hemos aprendido a importar dibujos vectoriales dentro de Scratch y modificarlos dentro del editor en modo vectorial. Hay muchos sitios donde podemos descargar imágenes vectoriales de dominio público o con licencias CC, que podemos utilizar en nuestros proyectos, pero uno de los sitios donde vais a encontrar más es en wikimedia commons, donde se alojan la mayoría de las ilustraciones que aparecen en los artículos de wikipedia. Otra opción es buscar en Google imágenes, pero haciendo una búsqueda avanzada para elegir el formato .svg, que es el formato vectorial que reconoce Scratch. Otra buena página donde buscar es en freepik, si descargáis la forma vectorial, es posible que el formato no sea svg, pues en muchos casos será formato de Adobe Illustrator (.ai), y si no tenemos este programa lo mejor es tener instalado en nuestro ordenador el programa libre Inkspace, con el que sí podemos abrir el formato .ai y guardar en .svg para poder importarlo a Scratch. De esa manera podremos hacer cambios en los dibujos mucho más fácilmente o redimensionarlos sin perder ningún detalle. Por ejemplo este archivo de animales:



El formato es en .ai, pero al abrirlo con Inkspace podemos guardarlo en .svg, y así poder importarlo a Scratch sin problemas, de manera que en pocos minutos tenemos toda una biblioteca de personajes para nuestros proyectos o el de los alumnos. Ejemplo. Eso sí, siempre mencionar en la ventana del proyecto la referencia al autor, o la fuente, si es licencia CC-By



Proponemos en esta sesión realizar una aplicación interactiva que consistirá en ir colocando las diferentes Comunidades Autónomas en el mapa de España. Para eso hemos importado un nuevo objeto en Scratch, este mapa, y hemos duplicado disfraces hasta obtener 17 copias. En cada disfraz hemos desagrupado el mapa hasta poder borrar fácilmente todas las comunidades salvo una de ellas en cada disfraz. Nombramos cada disfraz con el nombre respectivo de la Comunidad y creamos una lista donde guardamos todos los nombres.


Colocamos un objeto mapa, en blanco, que nos sirva de referencia y vamos situando cada comunidad en su sitio, teniendo en cuenta que al modificar el mapa, hemos cambiado el centro (punto de referencia donde se coloca el objeto en el escenario) en el centro de cada disfraz. Al situar cada disfraz en su sitio guardamos estas coordenadas en dos listas, una para las coordenadas X y otra para las coordenadas Y, en el mismo orden que la lista de nombres. Ver vídeo
Ahora creamos otras tres listas (vacías) que nos servirán de listas auxiliares para ir borrando las comunidades que vamos colocando. Este es el punto de partida para el programa que vamos a realizar.


Antes de empezar, tenemos que tener claro el funcionamiento de la aplicación. Para eso lo mejor es jugar nosotros mismos y ver cómo funciona. Elegid la opción situar, la otra opción la veremos en la próxima sesión. Cuando el ratón toque el dibujo de la comunidad, no hagáis clic con el ratón hasta haber movido al sitio que le corresponde. Proyecto en Scratch.


Ahora que ya tenemos claro cómo funciona el juego vamos a programarlo. Primero iniciamos las variables y borramos el escenario.

Ahora hacemos una copia de las tres listas, nombres y coordenadas en las listas auxiliares; para ello utilizamos un bloque que repetimos 17 veces, copiando cada elemento de cada lista.


El siguiente paso es elegir de manera aleatoria un elemento de la lista, guardar este nombre en una variable que llamaremos comunidad, cambiar el disfraz a comunidad ( los nombres de los disfraces deben ser idénticos a los nombres de la lista (distinguiendo mayúsculas y tildes). Ir a un punto inicial del escenario y esperar a que toque el ratón.

Cuando toque el ratón, haremos que el dibujo siga continuamente al ratón ( con esto conseguimos arrastrar el dibujo), hasta que hagamos clic con el ratón. En ese momento, el objeto tendrá una posición que recogen las dos variables de posición y que tendremos que comparar con las coordenadas que tenemos guardadas en las listas de coordenadas, para comprobar si está en el sitio correcto.

Para comparar ambos números, utilizamos una resta pero tomando el valor absoluto para que siempre salga positivo, y si es menor que 5 ( por ejemplo, está muy próximo al punto exacto) entonces sellamos el disfraz y volvemos a empezar con otro elemento al azar, pero antes borramos ese elemento que ya hemos colocado de las tres listas ( la de nombres y las dos de coordenadas), de esa manera iremos restando un elemento hasta completar el mapa y borrar todos los elementos de las listas auxiliares. En caso de que la posición del dibujo no coincida con la que tenemos guardada, entonces volvemos al inicio, sin borrar nada.


Estos tres bloques los unimos todos dentro del bloque: repetir hasta que la longitud de la lista CCA sea menor que 1. Y ya tenemos el programa terminado. Escondemos el objeto y podemos añadir una música de triunfo para concluir.


También podemos grabar nuestra voz nombrando cada comunidad y añadir tocar sonido cada vez que mostremos un nuevo disfraz, bastaría nombrar cada sonido con el mismo nombre de la lista de nombres y nos valdría la misma variable comunidad, como podéis comprobar en el proyecto final.

Este tipo de programa puede serviros para muchos puzzles con diversas temáticas: partes de una planta, huesos del cuerpo humano...
Licencia CC BY-NC-SA. Con la tecnología de Blogger.

Mi twiter