Alguien conocer algún software libre para hacer esto?
Si es en Python mucho mejor, por si tengo que hackearlo un poco.
Saludos!!
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
_______________________________________________
pyar mailing list py...@python.org.ar
http://listas.python.org.ar/listinfo/pyar
PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> Hola
> Ehh no al menos yo no conosco ninguna.. aunque generar los cartones es
> bastante sencillo... en unas cuantas lineas podes generar las conbinaciones
> de 15 elementos usando una funcion random..(leer un poco acerca de bingo en
> wikipedia) y solo te quedaria diseñar y exportarlos a un pdf con alguna
> herramienta como ReportLab.. y listo ya podes generar los cartones
Justo cuando leía tu mail estaba pensando en esto. Googleando encontré
un simple script que sacaba cartones por stdout (print), lo mezclé con
mis conocimientos básicos de ReportLab y generé unos cartones
decentes!
Feature (en singular):
* Se asegura que no haya 2 ganadores. No se generan dos cartones con
los mismos números.
Acá está el código: http://svn.juanjoconti.com.ar/bingo/gen.py
Y acá un pdf con cartones de ejemplo:
http://svn.juanjoconti.com.ar/bingo/cards.pdf
Usé una fuente monoespaciada para no tener cartones de distinto ancho,
pero no me gusta mucho esta fuente (Courier). Alguien sabe como
establecer un ancho para las celdas?
Juanjo,
PS: Buscando en Itnernet aparecen algunos softwares para Windows pagos
y algunas páginas web que te permiten generar N cartones (siendo N
bastante chicos) y a cambio de un pago te dejan generar más cartones.
Con report lab se encarga del resto, aunque es algo engorroso estar
vectorzando para generar bien los cartones
saludos
y si generas los cartones con pyfpdf?? podes definir el template del
cartón y le asignas las variables (los numeros)
--
Joaquín Sorianello
Sea libre, use software libre
A qué te referís con "generar correctamente los cartones"? Hay algo
que tener en cuenta? Algo que validar?
Saludos y gracias,
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
colWidths en el contructor de la tabla.
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
2010/10/19 Ricardo Daniel Quiroga <l2rada...@gmail.com>:
Justo cuando leía tu mail estaba pensando en esto. Googleando encontré
> Hola
> Ehh no al menos yo no conosco ninguna.. aunque generar los cartones es
> bastante sencillo... en unas cuantas lineas podes generar las conbinaciones
> de 15 elementos usando una funcion random..(leer un poco acerca de bingo en
> wikipedia) y solo te quedaria diseñar y exportarlos a un pdf con alguna
> herramienta como ReportLab.. y listo ya podes generar los cartones
un simple script que sacaba cartones por stdout (print), lo mezclé con
mis conocimientos básicos de ReportLab y generé unos cartones
decentes!
Feature (en singular):
* Se asegura que no haya 2 ganadores. No se generan dos cartones con
los mismos números.
Acá está el código: http://svn.juanjoconti.com.ar/bingo/gen.py
para hacerla bien fácil yo usaría este modulito
http://pypi.python.org/pypi/texttable/0.7.0
que genera tablas "ascii" válidas como restructuredText
luego una simple pasadita por rst2pdf y tenés cartones bien bonitos.
Segun lo que lei el reglamento establece:
- El juego finaliza cuando uno o más jugadores cantan "BINGO" al
completar el Cartón o alguna de las figuras mencionadas. El juego se
detiene inmediatamente y se verifican los números y la figura. Si hay
un ganador, se le otorga el premio. Si hay más de un ganador, el
premio se divide entre los ganadores en partes iguales.
no se, no entieno mucho de bingo.. nunca jugue...no me gusta la timba :P
saludos
--
Juan Deladoey
Tenés toda la razón. Gracias. Vamos a ver como se soluciona.
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
2010/10/19 Ariel Rossanigo <arielro...@gmail.com>:
> Juanjo, el problema es que dos cartones con distintos conjuntos de números
> pueden resultar ganadores....
> Por ejemplo, c1= {1,2,3} y c2 = {1,4,5}, una posible secuencia de salida que
> hace que los dos ganen es [2,3,4,5,1] (obviamente el de c1 es el que termina
> más enojado :))
> « HTML content follows »
>
>
>
> El 19 de octubre de 2010 18:50, Juanjo Conti
> <<URL:mailto:jjc...@gmail.com>jjc...@gmail.com> escribió:
>
>
> 2010/10/19 Ariel Rossanigo
> <<URL:mailto:arielro...@gmail.com>arielro...@gmail.com>:
>
> > Juanjo, el problema es que dos cartones con distintos conjuntos de
> números
> > pueden resultar ganadores....
> > Por ejemplo, c1= {1,2,3} y c2 = {1,4,5}, una posible secuencia de
> salida que
> > hace que los dos ganen es [2,3,4,5,1] (obviamente el de c1 es el que
> termina
> > más enojado :))
>
>
> Por si sirve de algo, la loteria hogareña (el juego) tiene Serie de
> cartones para
> que se elijan todos dentro de la misma serie para que no halla ganadores,
> siempre y cuando la combinatoria lo permita se puede hacer eso.
La unica manera de que no se pueda dar el caso de dos ganadores simultaneos
es si los cartones son disjuntos. La prueba es obvia ;-)
Claro! Necesitás M bolillas y N cartones de X número cada uno donde M / N = X.
No? Algo bastante impracticable.
Así que me parece que dejaremos que el azar mande.
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
Daniel writes:
« HTML content follows »
El 19 de octubre de 2010 18:50, Juanjo Conti <<URL:mailto:jjc...@gmail.com>jjc...@gmail.com> escribió:
2010/10/19 Ariel Rossanigo <<URL:mailto:arielro...@gmail.com>arielro...@gmail.com>:
> Juanjo, el problema es que dos cartones con distintos conjuntos de números
> pueden resultar ganadores....
> Por ejemplo, c1= {1,2,3} y c2 = {1,4,5}, una posible secuencia de salida que
> hace que los dos ganen es [2,3,4,5,1] (obviamente el de c1 es el que termina
> más enojado :))
Por si sirve de algo, la loteria hogareña (el juego) tiene Serie de cartones para
que se elijan todos dentro de la misma serie para que no halla ganadores, siempre y cuando la combinatoria lo permita se puede hacer eso.
La unica manera de que no se pueda dar el caso de dos ganadores simultaneos es si los cartones son disjuntos. La prueba es obvia ;-)
El tema es que dentro de la serie no se tiene que repetir el mismo
cartón (con sus 15 números).
En algún momento hice algo de cartones para "pavear". He generado
miles de cartones y es poco probable que haya cartones repetidos
(aunque si existe hay que descartarlo y generar otro).
Lo que no se podría hacer en la práctica es que solamente haya un ganador.
También generé PDF con los números y quedó algo similar al que adjunto
(el archivo lo convertí a png por problemas con el tamaño de los
archivos adjuntos permitidos en la lista).
--
---
José Luis DALLAPICCOLA
Neuquén Capital
Patagonia Argentina
> La unica manera de que no se pueda dar el caso de dos ganadores
> simultaneos es si los cartones son disjuntos. La prueba es obvia ;-)
>
>
>
> No es tan sencillo, si tomas los cartones
> c1 = {1,2,3}
> c2 = {1,2,4}
> Puede haber ganadores simultáneos, pero, si agrego:
> c3 = {1,3,4}
> c4 = {2,3,4}
>
>
> Ya no puede haber ganadores simultáneos, el truco es que en el momento en
> que dos cartones pueden empatar, automáticamente hay otro cartón que salio
> ganador.
Ok, tenés razón, si los cartones cubren todos los subconjuntos disjuntos
posibles "tamaño cartón", entonces no es posible el empate.
Claro, en ese caso el bingo es exactamente lo mismo que una rifa porque
siempre sale en X jugadas donde X es la cantidad de numeros del cartón, lo
que le quita todo el suspenso ;-)
Y también, como decís, necesitás saber de antemano exactamente el número de
jugadores.
> Ariel Rossanigo writes:
>
>> La unica manera de que no se pueda dar el caso de dos ganadores
>> simultaneos es si los cartones son disjuntos. La prueba es obvia ;-)
>>
>>
>>
>> No es tan sencillo, si tomas los cartones
>> c1 = {1,2,3}
>> c2 = {1,2,4}
>> Puede haber ganadores simultáneos, pero, si agrego:
>> c3 = {1,3,4}
>> c4 = {2,3,4}
>>
>>
>> Ya no puede haber ganadores simultáneos, el truco es que en el momento en
>> que dos cartones pueden empatar, automáticamente hay otro cartón que salio
>> ganador.
>
> Ok, tenés razón, si los cartones cubren todos los subconjuntos disjuntos
> posibles "tamaño cartón", entonces no es posible el empate.
>
> Claro, en ese caso el bingo es exactamente lo mismo que una rifa porque
> siempre sale en X jugadas donde X es la cantidad de numeros del cartón, lo
> que le quita todo el suspenso ;-)
>
> Y también, como decís, necesitás saber de antemano exactamente el número de
> jugadores.
Ah, y en el caso de la loteria de cartones "tradicional" (90 numeros,
15 x cartón era?) el numero de jugadores necesarios es 126000 si no estoy
demasiado dormido :-)
El programa se llama Bingomatic
http://www.android-spa.com/verAplicacion.php?id=263
Saludos!
Roberto Alsina writes:
Ariel Rossanigo writes:
La unica manera de que no se pueda dar el caso de dos ganadores simultaneos es si los cartones son disjuntos. La prueba es obvia ;-)
No es tan sencillo, si tomas los cartones
c1 = {1,2,3} c2 = {1,2,4}
Puede haber ganadores simultáneos, pero, si agrego:
c3 = {1,3,4}
c4 = {2,3,4}
Ya no puede haber ganadores simultáneos, el truco es que en el momento en que dos cartones pueden empatar, automáticamente hay otro cartón que salio ganador.
Ok, tenés razón, si los cartones cubren todos los subconjuntos disjuntos posibles "tamaño cartón", entonces no es posible el empate.
Claro, en ese caso el bingo es exactamente lo mismo que una rifa porque siempre sale en X jugadas donde X es la cantidad de numeros del cartón, lo que le quita todo el suspenso ;-)
Tengo tu código a mano para experimentar, pero mientras tanto hice
varias corridas simuladas y siempre sale 1 solo ganador:
http://svn.juanjoconti.com.ar/bingo/check.py
Saludos,
--
Juanjo Conti
blog: http://www.juanjoconti.com.ar
Y también, como decís, necesitás saber de antemano exactamente el número de jugadores.
Y también, como decís, necesitás saber de antemano exactamente el número de jugadores.
Y se puede comprar mas de un cartón por persona.