La ruleta que gira

Introducción

Seguro que en más de una ocasión has visto uno de esos programas en la televisión en los que una ruleta gira, y va dando premios. ¿Cómo podemos plantear esto en Scratch?

La verdad es que no es tan difícil como piensas. Necesitaremos un objeto al que dar movimiento a través del giro. Hoy, en este minitutorial, te vamos a enseñar cómo plantear este sencillo reto y, por supuesto, añadiremos unas cuantas ideas para que continúes programándolo.

Enlace al proyecto en scratch.mit.edu

Deberías saber

  • El concepto de giro
  • El concepto de variable (si quieres hacer que la ruleta vaya reduciendo su velocidad poco a poco).

Objetivos

  • Aprender a crear una ruleta que gire.
  • Conocer el concepto de velocidad que va decrementándose hasta que el objeto para.

Necesitarás una ruleta

Lo primero que tenemos que buscar es una imagen de una ruleta, aunque también es una buena idea que dibujes la tuya propia a través del editor de Scratch, ya que no será nada difícil: un círculo que dividiremos en distintos sectores, tanto como tú quieras. Nosotros hemos encontrado una aquí que nos puede valer.

Lo primero que tenemos que hacer es importarla a Scratch como un nuevo objeto; es posible que necesites modificar la imagen de la ruleta, por ejemplo eliminando los bordes blancos de los laterales para hacerlos transparentes. Pequeños detalles. Ah, ¡acuérdate también de poner bien el centro del objeto! Así conseguiremos que el giro sea perfecto.

Aplicando el giro

Ruleta, ScratchUna vez tengas correctamente situada la ruleta y colocado su centro, podemos empezar a girar. Prueba a girarla 15 grados por siempre, y comprueba el efecto: con sólo dos bloques hemos conseguido una ruleta «infinita». En este punto nos gustaría lanzarte una pregunta: ¿cómo hacer que la ruleta gire más rápido? ¿Y más despacio? Pista: sólo tendrás que cambiar un número, la clave es… ¿cuál?

Para hacer el efecto de que vaya reduciendo la velocidad con el tiempo es necesario emplear una variable. Primero, le asignamos un valor inicial a esa variable (por ejemplo, 90); utilizamos esa variable en la instrucción de girar y, cada vez que gire, reducimos 1 su valor.

Este sería el código:

Ruleta Scratch

Si pruebas este código verás que el comportamiento es extraño, ya que la ruleta comienza a girar en el otro sentido. Esto tiene una solución fácil: en vez de un por siempre, debemos utilizar un repetir hasta que la variable sea 0:

Ruleta en Scratch

Ahora nos ha surgido otro problema: con este código la ruleta siempre para en la misma posición. ¿Por qué no le damos algo de aleatoriedad? Podemos hacer que la velocidad sea diferente cada vez que ejecutamos el programa, por ejemplo… entre 50 y 300:

Ruleta en Scratch

Y hasta aquí llega nuestro código. Si lo pruebas verás que el comportamiento es bastante realista, aunque aún podríamos mejorarlo. Pero eso lo dejamos como ampliaciones y más ideas.

Este proyecto, como muchos otros, es una base sobre la que podemos continuar trabajando y mejorando, añadiendo nuevas posibilidades:

  • ¿Se te ocurre cómo podemos darle un comportamiento todavía más aleatorio a nuestra ruleta?
  • ruleta europea¿Y más realista? Tendrás que estudiar qué valores de velocidad son idóneos, e igualmente también puedes cambiar el valor por el que se va reduciendo.
  • ¿Sería posible hacer que nuestra ruleta diese premios? Según fuese la posición en la que termina; tendrás que tener en cuenta su ángulo final.
  • Si unes esta ruleta a un juego de preguntas y respuestas puedes tener un proyecto muy divertido y completo.
  • ¿Cómo podrías crear una ruleta como la europea? Seguro que puedes aprovechar lo que has aprendido en este tutorial

No olvides compartir con nosotros tus creaciones. También puedes encontrar más bananas siguiéndonos en BananaCoders en la comunidad de Scratch o en nuestro Twitter @BananaCoders.

Deja un comentario