La bola mágica, un divertido script en Ruby

El otro día vi un capitulo de los Simpon en el que Milhouse usa una bola mágica a la que le hace preguntas. Por pura diversión hice un pequeño script en Ruby para simular esta la bola mágica (Magic 8 Ball).

Episodio de los Simpson en el que usan la bola mágica
Episodio de los Simpson en el que usan la bola mágica.

El dispositivo original es bastante ingenioso, se le hace una pregunta a la bola mágica que tiene en su interior un icosaedro y en cada una de sus caras tiene grabada una respuesta que se puede ver a través de una ventanilla.

no cuentes con ello
No cuentes con ello.

El script

Según la wikipedia, la bola mágica original tiene 20 respuestas, de las cuales 10 son positivas, 5 negativas y 5 vagas (pueque si , pueque no, pero lo más seguro es que quien sabe).

El script es en exceso simple, el arreglo mensajes contiene todas las respuestas posibles y se elige una respuesta al azar con una variable de la clase Random.

listado del script bola mágica

Dicen que es buena practica declarar una nueva variable cada vez que se ejecuta el programa para generar una nueva semilla aleatoria. Al final, el programa elige una respuesta en base al índice del arreglo que contiene los mensajes y lo muestra en la pantalla.

Y si dudan del poder de la bola mágica aquí tienen una muestra de su sabiduría.

el poder de la bola mágica
Esta bola si sabe.
#!/usr/bin/env ruby

# Bola Mágica
# ================

# bola_magica.rb es un sencillo programa escrito en Ruby que toma simula las respuestas
# de una bola mágica. Espero que se diviertan :).

# Copyright (C) 2015 Francisco Javier de la Torre Inguanzo
# Este código es software libre. Puede redistribuirlo y/o modificarlo bajo los términos de la
# Licencia Pública General de GNU según es publicada por la Free Software Foundation, bien de la
# versión 2 de dicha Licencia o bien (según su elección) de cualquier versión posterior.
# Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso
# sin la garantía MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR.
# Véase la Licencia Pública General de GNU para más detalles.
# Debería haber recibido una copia de la Licencia Pública General junto con este programa. Si no ha
# sido así, escriba a la Free Software Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU.

# Francisco Javier de la Torre Inguanzo https://linuxmanr4.com

mensajes = ["En mi opinión SÍ","Es cierto","Decididamente así es","Probablemente","Buen pronóstico","Todo apunta a que sí","Sin duda","Sí","Sí - definitivamente","Debes confiar en ello","Mmmm...vuelve a intentarlo","Pregunta en otro momento","Será mejor que no te lo diga ahora","No puedo predecirlo ahora","Concéntrate y vuelve a preguntar","No cuentes con ello","Mi respuesta es no","Mis fuentes me dicen que no","Las perspectivas no son buenas","Muy dudoso"]

# Que el azar haga su parte
respuesta = Random.new

system "clear" # Para limpiar la pantalla.
puts "Haga su pregunta: "
STDOUT.flush
pregunta = gets.chomp
puts ""
puts "La respuesta es: "
puts "."
puts "."
puts "."
puts mensajes[respuesta.rand(0..19)]
puts ""Espero que se diviertan :)

2 comentarios en “La bola mágica, un divertido script en Ruby”

¡Me encantaría saber que opinas!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.