Estrenamos nueva sección: el proyecto Scratch de los viernes. A partir de hoy atacaremos el último día laborable de la semana con una idea, un recurso o una propuesta para avanzar en el mundo de la programación tan en auge en los últimos años, desde cero y hasta infinito. 367306-Scratch-From-Mit
Pero ¿qué es Scratch? Para muchos - me incluyo - es el mejor lenguaje para iniciarse en el mundo de la programación, ya sea como adultos o, sobre todo, para niños. Desarrollado por el Lifelong Kindergarten del MIT Media Lab desde 2003, Scratch juega con un conjunto de instrucciones basadas en bloques de colores que, de una forma ordenada, nos permiten ‘jugar’ con varios objetos, los cuales pueden interactuar entre si.

¿Cómo instalar Scratch?

Scratch dispone de licencia Creative Commons Attribution-ShareAlike 2.0, de forma que su uso es completamente gratuito. La versión actual, Scratch 2.0, tiene dos vertientes:

  • Versión online: se ejecuta desde un navegador Web (Chrome, Firefox, Edge, etc.) y almacena toda la información en ‘la nube’, en los servidores del MIT, siempre y cuando estemos registrados. Puedes acceder desde aquí.
  • Versión offline: funciona como cualquier otro programa descargado y no necesita conexión a Internet, permitiendo guardar los documentos en ficheros locales con extensión .sb2. Es, salvo un par de excepciones de menor importancia, un clon de la versión online, y aquí tienes todos los materiales necesarios para instalarla, que incluyen Adobe Air y el instalador como tal. Está disponible para sistemas Windows, Mac y Linux.

La posibilidad de almacenar todos nuestros proyectos en ‘la nube’ si estamos utilizando la versión online es una clara ventaja respecto de la versión desconectada, si bien en muchos entornos no existe una conexión estable a Internet y, por ello, el MIT ofrece esta versión offline.

La cuenta de usuario en Scratch

Una nota importante es que cualquiera puede iniciar un nuevo proyecto en Scratch: tan simple como acceder a la web oficial y ‘pinchar’ en Crear (arriba a la izda., junto al logotipo de Scratch). Sin embargo, los proyectos que creemos sólo se guardarán si estamos registrados y autenticados en la plataforma.
Este proceso de registro es tremendamente sencillo y, por supuesto, gratuito. En la misma página principal, es necesario ‘pinchar’ en Únete a Scratch (en la barra superior, a la dcha.), rellenar un conjunto de datos y luego seguir las instrucciones que nos enviarán en un correo electrónico a la dirección que hayamos asignado.
Esta cuenta permite, además de almacenar los proyectos en ‘la nube’, interaccionar con los proyectos de otros usuarios. En la comunidad oficial de Scratch existen a fecha de publicación de este artículo, 6 de noviembre de 2015, 11.4 millones de proyectos disponibles. Y lo mejor de esto es que no sólo podremos ejecutarlos, comentar en ellos, marcarlos como favoritos o reinventarlos, también leer su código para poder aprender nuevas posibilidades o interacciones que para nosotros nos son desconocidas, o muy difíciles de implementar.

La interfaz de Scratch

Antes de proponer un primer proyecto, vamos a echarle un vistazo a la interfaz de Scratch. En mi caso he elegido la versión offline por la comodidad de realizar las capturas de pantalla para este artículo, si bien podéis seguir exactamente los mismos pasos si estáis ejecutando la versión online a través de un navegador.
Scratch-Interfaz
Una vez abrimos el programa/el editor vía web, distinguimos cuatro zonas, numeradas de la siguiente forma:

1.- Escenario, donde sucederán las cosas. Que el gato se mueva, gire, o camine. Al ejecutar los programas que nosotros creemos, variarán los elementos del escenario según nosotros queramos.

2.- Instrucciones, todas las operaciones y órdenes que podemos utilizar en Scratch. Nótese que tenemos un total de diez categorías (Movimiento, Eventos, Apariencia, Control, étc.) con diferentes colores, y en cada una de ellas múltiples piezas. También es importante mencionar que no todas las piezas pueden interactuar entre si, se necesita que ‘encajen’ para ello.

3.- Espacio en blanco, o deberíamos decir… inicialmente en blanco. En esta zona es donde arrastraremos las piezas de la parte 2, y donde las colocaremos para buscar lo que nosotros queramos. Y no, no es necesario escribir nada, tan sólo arrastrar piezas para juntarlas con otras y que interactúen. Por cierto, el código en Scratch se ejecuta de arriba hacia abajo, ¡siempre!

4.- Objetos, nuestro catálogo de objetos. Inicialmente tenemos un gato (Scratchy es su nombre) pero podemos añadir otros con varias opciones disponibles, y caracterizadas por un conjunto de cuatro iconos justo debajo de donde aparecen las coordenadas: podremos importar un objeto desde el catálogo por defecto, pintar o crear uno, subir un fichero desde nuestro ordenador o incluso tomar una fotografía desde la webcam.

Con esta breve explicación podemos ponernos manos a la obra y crear nuestro primer proyecto Scratch. Algo tan sencillo como que el gato se mueva.

Mira mamá, ¡el gato se mueve!

Primero de todo, es muy recomendable que nuestros proyectos tengan un punto de partida. When-Green-Flag-Clicked En la inmensa mayoría de los casos será al presionar (bandera verde), una instrucción perteneciente a Eventos (color marrón) que será la que inicie la ejecución de nuestro programa tan sólo pulsando el respectivo icono de bandera verde ubicado justo encima del escenario.
Tan simple como arrastrar esta orden a nuestro espacio en blanco, y listo. Si ahora ejecutamos el proyecto (el icono de la bandera verde, justo encima del escenario), veréis cómo se sombrea en un color amarillo la pieza que antes hemos arrastrado. Pero, como no hay nada más, el proyecto no realiza ninguna acción.
En este primer proyecto queremos mover el gato, así que debemos buscar una instrucción que nos lo permita. Move-Steps Las de color azul parecen las más adecuadas ya que se trata de la categoría Movimiento, y dentro de ellas rápidamente encontramos la de mover (10) pasos. La arrastramos para que encaje justo debajo de al presionar (bandera verde) y ahora sí, ejecutamos el proyecto pulsando el icono de bandera verde justo encima del escenario. Nuestro gato se moverá 100 pasos.

Hasta el infinito, y más allá

Esto no ha sido más que la primera toma de contacto con el mundo Scratch, que seguro muchos ya conocían. Y con este punto de partida se abren numerosas posibilidades, algunas de las cuales enumeramos a continuación y, de paso, os recomendamos encarecidamente que las intentéis completar:

  • Hacer que el gato se mueva dando pasos, a través de los disfraces y de la categoría Apariencia (color morado).
  • Hacer que el gato avance poco a poco, y no a trompicones, gracias a un bloque repetir de Control (color amarillo)
  • Hacer que el gato se mueva recorriendo un cuadrado, utilizando las instrucciones de girar de Movimiento (color azul). En este caso sería interesante utilizar la instrucción esperar 1 segundo de Control (color amarillo) para comprobar que las instrucciones utilizadas son las correctas.
  • Utilizar el Lápiz (categoría de color verde oscuro) para que el gato deje su ‘rastro’ y podamos ver que el recorrido es en realidad el cuadrado.
  • Y si ya hemos conseguido un cuadrado… ¿qué tal el pentágono?
  • … ¿y el hexágono?
  •  ¿y el decágono?

Pablo Espeso Pablo Espeso Tascón es Ingeniero Informático y coordinador del Club de Jóvenes Programadores de la Universidad de Valladolid (CJP @ UVa)