Lo que describes es un problema clásico llamado "Game of Life".

En este link está más que bien explicado:

https://jakevdp.github.io/blog/2013/08/07/conways-game-of-life/
Lo del tablero tb lo puedes "pintar" utilizando matplotlib.

Espero que se sea de ayuda,


Núria

2015-05-22 17:27 GMT+02:00 Fernando Garcia <riell...@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@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a