El juego de la vida en Python 3.4 y Java Swing
Hace cosa de un año más o menos había programado "El juego de la vida" en Java por curiosidad.
Un buen amigo un día que pasó por casa vió que había hecho ese juego , él me dijo: "Si quieres hacer un buen ejercicio para cuando tengas que empezar con un lenguaje de programación nuevo y quieras conocer su sintaxis rápido , programa el juego de la vida".
Pues esta vez me ha tocado empezar con Python y para seguir su consejo hice el juego y la verdad es que me ha valido porque he tocado lo básico de Python, condicionales, bucles, arrays, funciones ... casi todo lo básico.
A diferencia con el de Java, es que en Python lo hice en modo texto , usando la terminal ya que para poder usar ventanas tengo que usar WxPython y muy a mi pesar ahora mismo el tiempo apremia y no quería extenderme más con la librería de ventanas ya que por el momento la necesidad de usar ventanas con Python no me hace falta. Pero eso sí , queda pendiente :).
Al grano.
Si no has oido hablar sobre el juego de la vida te explicaré que es y de que va pero aquí tienes la explicación completa para más detalles. El juego lo hizo John Horton Conway, un matemático Inglés nacido en Liverpool en 1937.
El juego de la vida en realidad no es un juego , porque es de cero jugadores , es un autómata celular , un modelo matemático que cambia con el tiempo siguiendo unas determinadas condiciones e interactúa consigo mismo.
¿En qué se basa el juego?
El juego se basa en una malla virtual ( tablero ) infinita y cada casilla ( célula ) puede tomar un valor , viva o muerta y debe obeceder las siguientes condiciones:
Esta célula para la siguiente iteración seguirá estando viva |
Condiciones:
- Si una célula a su alrededor tiene menos de 2 células y esa célula está viva , esa célula para la siguiente iteración estará muerta , morirá de hambre.
- Si una célula a su alredor tiene más de 3 células y esa célula está viva , esa célula para la siguiente iteración también morirá , demasiadas células para sobrevivir.
- Si una célula a su alrededor tiene justamente 3 células y actualmente está muerta, para la siguiente iteración pasará a estar viva.
-Si una célula a su alrededor tiene justamente 3 células y actualmente está viva para la siguiente iteración seguirá estando viva
- Y finalmente , si la célula a su alrededor tiene 2 células para la siguiente iteración se queda con el estado que esta tenga , que puede ser viva o muerta.
La mágia.
La mágia del juego es que se "crea" vida, podemos ver unos "seres vivos" que pueden tomar las siguientes formas con el paso de iteraciones. Dependiendo de como queda el tablero de células aleatorias cuando empieza el juego pueden salir distintas formas, no tienen porque salir todas.
En la versión de Java lo puedes ver mejor, ya que es una ventana y no es en modo texto como con Python.
Este juego fue muy famoso en la década de los 80 y en realidad no es muy difícil de programar pero tiene lo suyo también , es un pequeño reto por si quieres animarte a programarlo.
Pues nada más , espero que te haya gustado la entrada y hayas aprendido algo si desconocias el "Juego de la vida de John Horton Conway". Interesante , ¿verdad?.
Gracias !