scratch
Scratch

Programar un dado virtual con Scratch

En este artículo nos vamos a zambullir de lleno en la programación visual con Scratch. Vamos a programar un dado virtual con Scratch. Un programa simple con mínima interacción pero que puede ser un punto de partida para hacer cosas grandes con esta plataforma.

Este será el primero de muchos artículos donde explicaré paso a paso cómo programar con Scratch. Partiremos de simulaciones muy simples como esta y llegaremos a un juego de plataformas. Más allá de aprender programación, algo muy importante en estos días, la idea es mostrar cómo la programación se puede combinar con otras áreas de estudio, como son por ejemplo la matemática y la física.

Scratch, una herramienta para aprender a programar

Si no saben de qué se trata esta herramienta de programación visual que vamos a utilizar. Les recomiendo el artículo sobre Scratch de Mentes Liberadas, de hace un tiempo atrás.

De forma resumida, podemos decir que Scratch es una plataforma para aprender a programar, indicada especialmente para chicos, pero que puede usar cualquier persona. Utiliza un lenguaje visual que no requiere la escritura de código y que permite asimilar conceptos de programación. Programar en Scratch es super divertido y su enfoque habilita la creación de simulaciones multimedia, animaciones y también videojuegos. Todo esto, de forma muy sencilla.

Aclaraciones

Antes de comenzar de ver cómo programar un dado virtual con Scratch, algunas aclaraciones:

  • Utilizaremos la versión web de Scratch, por ser gratuita y estar disponible para todo el mundo desde el navegador web.
  • Para poder seguir el programa van a tener que tener un poquito de experiencia en el uso de Scratch. Con que hayan hecho algún programa básico y estén familiarizado con los tipos de bloques alcanza.
  • Al final del artículo encontrarán el enlace al programa para que puedan verlo, correrlo, simularlo y modificarlo.
  • Este y todos los programas que haré en este espacio se enfocan en lo didáctico. No buscamos aquí hacer un programa perfecto, sino entender el proceso de desarrollo para facilitar el aprendizaje de otros temas que no son de programación.
  • También buscamos aprender a programar con Scratch. ¡Por supuesto!
  • Recuerden que los programas no se hacen de una única manera. Puede haber más de una forma de llegar al mismo resultado.
  • El programa de este artículo y todos los que presente luego serán creados por mí. Si no me conocen, les cuento que soy programador y que tengo muchos años de experiencia como profesional de esta área. Sin embargo no soy perfecto y me puedo equivocar, así que si encuentran algún error o alguna mejora para hacer, bienvenida sea.

¡Ahora sí! ¡Comencemos a programar en Scratch!

Programando un dado virtual con Scratch

El primer programa que vamos a hacer es un dado. Sí, vamos a simular que tenemos un dado simple, de 6 caras. La idea es poder “tirarlo” virtualmente y obtener siempre un número nuevo al azar.

El objetivo del programa

Lo primero y más importante que tenemos que definir al principio es qué queremos hacer. Es decir, qué queremos que ocurra. En este caso, lo que queremos que ocurra es que al presionar la barra espaciadora, el dado cambie al azar un par de veces y luego se quede quieto en un número resultante. Ese será el valor de la tirada.

El dado y sus disfraces

No encontré ningún dado entre los objetos que trae Scratch en su versión web. Pero esto no es un problema, porque como saben, es posible crear objetos nuevos. Y eso haremos. Crearemos un objeto dado que tendrá distintos disfraces. Recuerden que los disfraces son distintas formas que tiene un mismo objeto para mostrarse.

Los disfraces en Scratch permiten que un objeto cambie su apariencia según se lo indiquemos.

La idea es que cada disfraz de nuestro objeto sea una cara del dado. Por lo tanto, para ello, vamos a necesitar los distintos dibujos de las caras de un dado. Es decir, el número 1, el 2, el 3, etc. Los programadores llamamos a estos dibujos “sprites”. Si buscan en Google “dado sprite” o “dice sprite” (dice es dado en inglés) seguramente encontrarán muchos.

A veces estos sprites vienen todos pegados en una sola imagen. Si es así, asegúrense de recortar cada uno de los dibujos y cargarlos como disfraces de un nuevo objeto que debemos crear. Esto deberán hacerlo con programa de edición de imágenes.

Como sé que muchos quizás no sepan cómo hacerlo, les dejo aquí las imágenes para cada una de las caras del dado.

dado virtual con scratch sprite número uno dado virtual con scratch sprite número dos dado virtual con scratch sprite número tres dado virtual con scratch sprite número cuatro dado virtual con scratch sprite número cinco dado virtual con scratch sprite número seis

Noten que tanto al objeto que vamos a usar como a los disfraces que tiene les he puesto nombre. Esto es muy importante a la hora de programar. Hay que ponerle nombre a todo lo que usemos. Al principio puede no parecer tener sentido, pero créanme que con el tiempo, cuantos más elementos, disfraces y variables tengan, más necesario se hace saber qué es cada cosa.

dado virtual con scratch disfraces dado

El programa en Scratch del dado

Una vez tengamos cargado el dado con los disfraces que corresponden, vamos a centrarnos en el problema de la simulación puntualmente.

La idea es que al presionar la tecla espacio, el dado cambie de disfraces. ¿Qué disfraces queremos que adopte? Bueno, como es un dado… ¡al azar! Para ello vamos a combinar el bloque de cambio de disfraz con el operador de números al azar del que dispone Scratch.

Como necesitamos que haya una pequeña animación en la cual el dado vaya cambiando, vamos a hacer que el cambio de disfraz por uno al azar ocurra unas 10 veces. ¿Por qué 10 y no 11 ó 1000? Por ningún motivo en particular, pueden poner el número que quieran.

Así que vamos a meter nuestro bloque de cambio de disfraz aleatorio, en un bloque de control que se repita 10 veces.

La pregunta que nos tenemos que hacer ahora es, ¿cuándo queremos que ocurra esto? La idea, según lo que planteamos al comienzo, es que sea al presionar la barra espaciadora. Entonces vamos a introducir un bloque de control del tipo si… combinado con un sensor de que se está tocando una tecla, en este caso, espacio.

Todo lo que teníamos antes lo introducimos dentro de este bloque.

Si pusiéramos la acción de comienzo de programa de la bandera de Scratch encima de este bloque, ¿qué ocurriría? Podríamos simular tirar el dado sólo una vez. Luego el programa terminaría y tendríamos que volver a seleccionar la bandera para comenzar de nuevo. Para que eso no ocurra y podamos lanzar el dado muchas veces, conviene meter todo el programa dentro de un bloque de control del tipo por siempre.

Y ahora sí podemos activar todo al seleccionar la bandera, quedándonos el programa final de la siguiente forma.

Si lo prueban, verán que funciona perfectamente. Hay una animación muy rápida donde los números cambian cada vez que se presiona la barra espaciadora y finalmente queda en un número final.

El programa resultante lo pueden encontrar aquí: dado virtual.

Conclusiones y aspectos importantes

Hay dos aspectos fundamentales que debemos tener en cuenta para este programa y todos los que hagamos luego.

Comenzar con un objetivo claro

Es muy común que cuando uno comienza a usar Scratch se la pase jugando arrastrando objetos, moviéndolos y luego borrándolos para poner otros nuevos. Jugar e improvisar un rato sirve mucho para familiarizarse con la plataforma.

Antes de comenzar a programar es importante tener bien en claro qué es lo que queremos que nuestro programa haga.

Sin embargo, a la hora de programar en serio es vital ponerse en claro qué es lo que queremos que ocurra con el programa. La imaginación es clave aquí. Tenemos que visualizar en nuestra mente lo que debe pasar. Esa será nuestra guía para contrastar al final si el resultado obtenido es el deseado o no.

Un objetivo claro de entrada es una brújula que nos sirve para saber qué es lo siguiente que debemos hacer. En artículos siguientes haremos programas mucho más grandes y allí comenzaremos a usar otras herramientas más sofisticadas para poder organizarnos y no perdernos. Estas están fuera de Scratch pero considero que son importantes de asimilar.

Ponerle nombre a todo

Los objetos que usemos, los disfraces de los objetos, las variables que podamos llegar utilizar y los bloques propios que podamos crear, cada uno de estos elementos tiene que tener un nombre. Y ese nombre tiene que tener relación con lo que el elemento es o hace.

Objetos, disfraces, variables y bloques propios deben tener siempre un nombre que los identifique con claridad.

Este es un aspecto fundamental que todo programador debe tener presente. Si no se le asignan nombres a los elementos, cuando el programa crece es muy difícil de entender, tanto para el mismo programador como para otros programadores.


Bueno, hasta aquí hemos visto cómo crear un dado virtual con Scratch. En el próximo artículo vamos a crear un contador donde aplicaremos algunos conceptos básicos de matemática.

La idea es ir incrementando la dificultad hasta llegar a hacer un juego de plataformas. Si tienen alguna pregunta, pueden dejarla en los comentarios.

¡Hasta la próxima!

Última actualización el 2018-10-17 / Enlaces de afiliados / Imágenes de la API para Afiliados

Deja un comentario

avatar
1024
Alejandro De Luca
Soy programador web. Rebelde autodidacta y cafeinómano. Vivo comparando la vida real con Los Simpsons. Creé Mentes Liberadas para compartir consejos, recursos y herramientas para la escuela y la universidad. Vivo en Buenos Aires, Argentina.