Mini Bingo Smart Cont

En esta oportunidad surgió la idea de crear un mini bingo para jugar Excel en la computadora, ni siquiera necesitan imprimir el cartón.

Los datos que sabía acerca de los bingos era lo siguiente:

·         En este caso, para un mini bingo deberían ser bolillas con dos cifras. Números del 01 al 99.

·         En este caso, para el mini bingo tenemos 20 casilleros. En los cartones de bingo los números son aleatorios para cada cartón pero respetando cierta distribución. Es decir para este caso tendríamos que tener un cartón que contenga números que abarquen todo el rango de números del 01 al 99, 20 números distribuidos de esa cantidad de bolillas.

Los cartones de bingo pueden tener la cantidad de casilleros que uno desee, son matrices de filas y columnas. En este caso elegimos la palabra “mini” para hacer referencia a que es un cartón de pocos números, elegimos para ello una matriz de 4 x 5, es decir 20 elementos o casilleros.


La idea del bingo es que tenemos un bolillero con esas 99 bolillas y que vamos sacando de una bolilla por vez, que al usarse un bolillero se supone aleatoria. Luego de haber salido una bolilla en particular el sorteo queda limitado a las bolillas restantes.

En otras publicaciones eh visto que se hace el sorteo aleatorio pero con un bucle de comparación que hace que ha medida que van saliendo las ultimas bolillas el sorteo va consumiendo mayor tiempo, para ser  mas explicito les comento cómo.

Consideraciones Generales - Bolillero con bucle de comparación

Lo que hace es usar la función “aleatorio entre”, para este caso sería

= ALEATORIO. ENTRE (1,99)

Esta función por cada cambio o proceso de la hoja da un nuevo número aleatorio entre esos dos valores, esta función nos serviría para el bolillero. Lo que pasa es que esta función por supuesto no tiene en cuenta el no sortear entre los números que ya salieron, si bien es aleatorio llegado el caso puede llegar a arrojar valores que ya han salido.

Para suplir lo anterior, a medida que vamos sorteando vamos guardando los números que salieron en una columna por ejemplo y mediante un bucle y una función “si” verificamos si el número ha salido, en caso positivo continua el bucle hasta que encuentra un numero que no ha salido.

Como ven, llegado el momento que queden unos pocos números sin salir de las 99 bolillas, el sistema tardará un tiempo que no podemos estimar a simple vista para sortear entre los últimos números. Este sistema es ineficiente.

Sería bueno poder tener un bolillero como el que se usa en la realidad, que van saliendo bolillas que no han salido y además podemos controlar el tiempo para revolver las bolillas antes de sacar una.

Consideraciones Mini bingo Smart

Para solucionar los problemas que surgen de lo comentado anteriormente es que se pensó en algún método para tener un bolillero más funcional y similar al que tenemos en un bingo real pero en una planilla de Excel.

Componentes Generales:

·         Un panel de estado de las bolillas, me muestra las bolillas que van saliendo y que salen del sorteo. Además nos muestra en el momento del sorteo como se mezclan las bolillas, por decirlo así.

·         Tenemos un botón que nos sirve para iniciar el sorteo. Una vez presionado el script mezcla las bolillas, por decirlo así, una determinada cantidad de tiempo seteado con otro control.

·         El control que setea el tiempo es un “control de numero”, es una control que tiene dos flechas, una ascendente y la otra descendente que aumente o disminuye entre dos valores seteados vinculada a una celda en particular. Esto me permite variar el tiempo en que sorteo las bolillas entre 0 y 60 segundos. Por supuesto que lo mejor sería usar unos 5 segundos por ejemplo para hacerlo interesante de otra forma tardaría mucho o sería muy rápido el tiempo de juego quitando expectativa.

·         Por otro lado tenemos un botón para resetear el juego.

·         Cartones: en este mini bingo tenemos la posibilidad de elegir entre dos cartones, tenemos dos botones y dos cartones. Pulsando el botón elegimos para uno de los cartones un cartón que nos guste. Arriba de cada cartón podemos escribir un nombre de jugador si así lo queremos.

·         En esta aplicación en particular no tiene una tabla de ganadores para ver los primeros puestos según el puntaje o poder hacer un juego de 3 o 5 partidas, etc.

Componentes Mini Bingo Smart

1.      Panel de control

El bingo se tendrá que presentar como un panel de control, es decir tiene que tener botones para manejarlo y tener buena estética a la vista. Se necesitan tres o cuatro elementos principales. En el gráfico se pueden observar.

El elemento principal es la pizarra de sorteo dónde se pueden ver las bolillas que ya han salido. Luego tenemos los dos cartones del jugador 1 y 2.

Por otro lado tenemos los botones de “reset”,  “sorteo” y los que se utilizan para elegir cada cartón que figura como “nuevo”.

Además tenemos una botonera de selección “arriba-abajo”

2.      Resultados del sorteo

En otra hoja tenemos un listado dónde aparecen todas las bolillas y el estado de estas, si ya ha salido o si aun no. El panel de control debe reflejar esto a través de la cuadricula que llame “bolillero”.

Esta hoja es el secreto para hacer que el mini bingo funcione, tiene el siguiente formato.



La planilla tiene 3 campos, el primero es un algo que denomino número de orden, el segundo es el campo de bolillas, es decir la bolilla 1 a la 99, y el tercer campo es un campo de confirmación para saber si salió o no la bolilla.

El campo bolillas es invariable porque siempre tenemos la misma cantidad de bolillas.

El campo de confirmación tiene por defecto el valor “no”. Sin embargo al salir sorteado algún numero en particular, con una macro (Script de VBA) cambio el valor a “sí”.

El campo “Orden” lo uso para no volver  a hacer un bucle o loop sobre la misma bolilla. Uso algo ingenioso para evitar eso. En este campo mediante una formula hago que si la bolilla no ha salido ponga un numero el numero de orden siguiente y si ya ha salido que ponga el mismo numero que el orden precedente. Entonces veo que ha medida que disminuyen las bolillas disminuye el numero de orden, de esta manera realizo un presorteo entre esas bolillas que son las que me quedan, y cuando el presorteo encuentra un numero, busco para ese numero de orden a que bolilla corresponde. Eso es todo, así logramos no volver a sortear entre bolillas que ya han salido.

3.      Bolillero.

El bolillero es una cuadricula dónde puedo ver las 99 bolillas, cuando algún casillero esta en blanco quiere decir que no salió la bolilla y cuando esta en naranja es que ya ha salido.

En el momento del sorteo podemos ver una serie de saltos entre casilleros, esto vendría a ser la mezcla del bolillero, como en un bolillero normal a medida que vamos mezclando se van ordenando las bolillas de una determinada forma, que si lo detuviéramos saldría una bolilla en particular pero como sigue el sorteo no es así hasta que finalice. Además le da un buen efecto visual y cierto nivel de expectativa (no es impaciencia, ni ansiedad, ni excitación sino…). Como comentario adicional creo que se podría hacer algo un poquito más elaborado para que sea algo más interesante, algo que tenga la forma física de bolillero, es cuestión de ponerse a probar y usar un poco la imaginación.

4.      BOTONES


  • Botones nuevo: el código no lo escribimos, es el código generado al grabar la macro, excepto por los comentarios.
  • Botón Resetear: los bolillas que han salido y que en el campo “Salió” figuran como “si” las pone en “no”.

Fíjense un detalle muy importante, a veces al trabajar con el código siempre  en una misma hoja se puede omitir y referirse a una celda directamente con el “range(“A1”).value” por ejemplo pero lo mas correcto es utilizar el objeto “sheets” para operar con los datos de una hoja en particular y así evitar posibles errores y ambigüedades.


  • Botón de sorteo:

Al recuadro en que aparece la bolilla sorteada lo llamaremos “sorteo”, que correspondería a la celda dónde esta ubicada.

Al presionar el botón de comando “Reiniciar” la variable sorteo se pone en “0” cero.

Los componentes anteriores son los principales para la creación del mini bingo. En el video tutorial pueden ver todos los componentes. Si quieren más detalles, hagan un comentario sobre la entrada y se lo responderemos.
Keys:

5 comentarios:

Gonzalo Castillo Ibero dijo...

Hola buenas tardes me preguntaba si me podria enviar el excel sin bloquear o por el contrario decirme que hay que hacer en la macro de sorteo.Muchas gracias
PD:mi email es gonzalocastibero@gmail.com

Daniel Apaza dijo...

y para agregar mas cartones como se hace?

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
En cuanto a tu consulta, aquí vimos dos porque en una PC más de dos se complicaría jugar y por otro lado es solo un ejemplo práctico.
Lo que se puede hacer es imprimir varios cartones y jugarlo con papel como un bingo normal. Lo importante es el bolillero y la generación del cartón.
Saludos

robxxx dijo...

hola amigo, esta estupendo el bingo,pero tengo una consulta....queria agregare algo a la planilla, pero esta bloquedo. sera posible que me envies la clave a robertogomez246@gmail.com

Juan Pablo Torres dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
La idea de la plantilla es básicamente que la pueda ver para extraer el conocimiento, los elementos para que la gente pueda crear su propia mini aplicación.
Esperamos tus comentarios.
Saludos