[Python-es] Tablero ajedrezado

Fernando Garcia riello57 en gmail.com
Vie Mayo 22 17:45:28 CEST 2015


En efecto,  leí en un libro una descripción del Juego de la vida y quise
intentar ponerlo en marcha en Python.
Gracias por los enlaces, los voy a consultar
El 22/05/2015 17:41, "Oscar Carballal" <oscar.carballal en gmail.com> escribió:

> [clippy aparece en tu pantalla] Parece que esta usted intentando crear un
> juego de la vida (Game of Life), tal vez estos articulos le sean de ayuda:
>
> https://jakevdp.github.io/blog/2013/08/07/conways-game-of-life/
> http://usingpython.com/dl/GameOfLife.py
> http://stanford.edu/~cpiech/cs221/handouts/pythonTutorial.html
>
> Bromas aparte, para hacer la parte B seguramente te sea util operar con
> arrays bidimensionales (basicamente arrays de arrays). Echale un vistazo a
> los enlaces que te mando, no es demasiado complicado. Para conectar ambas
> partes puedes llamar a las funciones de tu programa en Tk desde tu
> operaciones en la logica del juego.
>
> Intentalo estudiando el codigo de esos ejemplos :)
>
> Regards,
> Oscar
>
> --
> Oscar Carballal Prego - Senior Software Developer
> http://oscarcp.com | @pizte
>
> 2015-05-22 16:27 GMT+01:00 Fernando Garcia <riello57 en gmail.com>:
>
>> Quiero hacer un "juego" (en realidad no es un juego, mas bien un
>> experimento) que consiste en:
>> a)-Sobre un tablero ajedrezado, marcamos cada cuadrado de un color,
>> blanco o negro  pero aleatoriamente.
>> b)-Cada casilla reacciona según las casillas de su entorno. Si es blanca
>> y esta rodeada por dos o tres blancas, sigue blanca. Si no, cambia a negra.
>> Si es negra y esta rodeada por dos blancas, cambia a blanca. Si no, sigue
>> negra.
>>
>> tengo hecha la parte a), con el código que pongo a continuación, pero no
>> se como abordar la parte b). ¿Alguna ayuda?.
>>
>> def Universo(ventana,ancho,alto):
>>     Botones(ventana,ancho,alto)
>>     espacio=Canvas(ventana, width=ancho, height=alto)
>>     espacio.pack()
>>     tablero(espacio,ancho,alto)
>>
>> def tablero(espacio,ancho,alto):
>>     x=0
>>     y=0
>>     while y<alto-15:
>>         while x<ancho-15:
>>             z=random.randint(0,1)
>>             if z==0:
>>                 cuadradoVivo(espacio,x,y)
>>             if z==1:
>>                 cuadradoMuerto(espacio,x,y)
>>             x=x+15
>>         x=0
>>         y=y+15
>>
>> def cuadradoVivo(espacio,x,y):
>>     espacio.create_rectangle(x,y,x+15,y+15,fill='green')
>>
>> def cuadradoMuerto(espacio,x,y):
>>     espacio.create_rectangle(x,y,x+15,y+15,fill='red')
>>
>> def Botones(ventana,ancho,alto):
>>     def botonSalir(ventana):
>>         Button(ventana, text="SALIR", command=root.destroy,
>>                cursor='hand2').pack(side=LEFT)
>>     def botonContinuar(ventana):
>>         Button(ventana, text="CONTINUAR",
>>                cursor='hand2').pack(side=LEFT)
>>     def botonPausar(ventana):
>>         Button(ventana, text="PAUSAR",
>>                cursor='hand2').pack(side=LEFT)
>>     def botonEmpezar(ventana):
>>         Button(ventana, text="EMPEZAR",
>>                cursor='hand2').pack(side=LEFT)
>>     frameBotones=Frame(ventana)
>>     botonEmpezar(frameBotones)
>>     botonPausar(frameBotones)
>>     botonContinuar(frameBotones)
>>     botonSalir(frameBotones)
>>     frameBotones.pack(fill=BOTH)
>>
>>
>>
>> #-*-*-*-*-*-*-*-*-*-*-*-*-
>> #*/*/*/*/*INIT*/*/*/*/*
>> #-*-*-*-*-*-*-*-*-*-*-*-*-
>>
>> root=Tk()
>> ancho,alto=root.maxsize()
>> Universo(root, ancho, alto)
>>
>>
>> root.mainloop()
>>
>>
>> Aclaro que el único botón que tengo funcionando es el de SALIR.
>> Gracias por la ayuda.
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20150522/5d9fbbbc/attachment.html>


Más información sobre la lista de distribución Python-es