[Python-es] Tablero ajedrezado

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


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.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20150522/e2d72d25/attachment.html>


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