[Python-es] Tablero ajedrezado
Oscar Carballal
oscar.carballal en gmail.com
Vie Mayo 22 17:40:45 CEST 2015
[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/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20150522/68d7bf17/attachment.html>
Más información sobre la lista de distribución Python-es