Taller del Juego de la Vida

Dibujar con

Rotar figura

Figuras Básicas

Figuras Estáticas

Osciladores ("Blinkers")

Figuras Móviles ("Gliders")

Misceláneas

Reglas del Juego de la Vida (Game of Life)

El juego consiste en una grilla (bidimensional) formada por celdas cuadradas, cada una de las cuales posee un estado de dos posibles. Estos son: si la celda está vacía se dice que está "apagada" (o "muerta"); si la celda está llena se dice que está "prendida" (o "viva"). En un principio, todas las celdas aparecen vacías (apagadas), pero si llenamos (prendemos) algunas de ellas queda entonces determinada una configuración inicial de celdas prendidas/apagadas (vivas/muertas) en la grilla.

A partir de aquí, el juego evoluciona a través de turnos -que podemos llamar generaciones- según la configuración actual de las celdas sobre la grilla. Es decir, a la configuración actual le aplicamos un conjunto de reglas que arribarán a una determinada configuración en la generación siguiente, a esta nueva configuración se la aplica el mismo conjunto de reglas que nuevamente arribarán a otra configuración en una nueva generación, y así sucesivamente.

Cada celda de la grilla toca 8 celdas adyacentes (que llamamos celdas vecinas) las cuales poseen alguno de los dos estados descritos anteriormente (viva/muerta). Entonces, las reglas que determinarán el estado de la celda actual para la siguiente generación son:
• Si una celda viva toca 2 ó 3 celdas vecinas vivas, entonces queda viva en la siguiente generación (sobrevive), en caso contrario muere.
• Si una celda muerta toca exáctamente 3 celdas vivas, entonces nace en la siguiente generación.

Cómo jugar

Para jugar sólo hace falta rellenar alguna/s de las celdas de la grilla -haciendo click sobre ellas con cualquiera de las figuras que se pueden seleccionar en la sección herramientas- y luego avanzar a siguientes generaciones de celdas. También existe la posibilidad de generar una una configuración inicial aleatoria de celdas vivas, usando el botón Generar que se encuentra en la parte inferior de la grilla.

El avance de una generación a la siguiente se hace a través del menú inferior, de dos maneras posibles: mediante el botón Avanzar, se avanza de la generación actual a la siguiente, y mediante el botón Iniciar se realizan avances sucesivos de generaciones en forma automática.


Controles del panel

En la parte inferior de la grilla hay un panel de control para realizar las acciones propias del juego y modificar ciertos parámetros del mismo.

Acciones

Limpiar Borra todas las celdas de la grilla e inicializa el contador de iteraciones (turnos) en 0.

Avanzar Avanza un turno en la simulación (generación siguiente).


Iniciar Inicia la simulación avanzando turnos de forma automática.

Parar Detiene la simulación automática.

Parámetros

Velocidad Establece la velocidad de la simulación automática. Valor entre 1 y 5, siendo 5 la mayor velocidad entre el paso de una generación a la siguiente.

Mostrar rastroActiva el rastro de celdas para la simulación.
(Para ver detalles de esta opción ir a la sección Acerca de).

Generador

Generar Esta herramienta permite generar una configuración aleatoria de celdas vivas dentro de la grilla. El parámetro semilla determina la densidad de celdas vivas a generar. Valor entre 1 y 5, siendo 5 el mayor valor de densidad de celdas a generar.

Resumen

El Taller del juego de la Vida es una implementación en html a pequeña escala de "Game of Life" - de John Conway, cuyo origen se remonta a la década de 1970.

El "taller" busca que cualquier usuario pueda probar y simular configuraciones iniciales y ver la evolución y resultados del avance de turnos de una generación a la siguiente, mediante el uso una interfase sencilla e intuitiva.


Desarrollo

La idea, desarrollo e implementación del taller, tanto el código fuente como la interface gráfica, fueron realizados por Joaquín Bedoian: Concocí el Juego de la Vida de John Conway y quise hacerlo fácil de jugar, tanto para mí como para todo aquel que quisiera hacerlo.

Está en desarrollo una versión descargable para jugar desde la PC con cualquier navegador web (¡en los que ande todo bien, que esperamos sean casi todos!), con la posibilidad de cambiar parámetros, tamaños de la grilla, etc.


Rastro

Joaquín Bedoian desarrolló una versión del juego con la posibilidad de añadir un parámetro llamado rastro. Este parámetro no cambia las reglas ni el desarrollo del juego sino que simplemente aporta información adicional que se muestra durante el juego, y que consiste en colorear las celdas muertas que alguna vez estuvieron vivas, con una escala de diez colores (aunque esta escala podría ser mayor, pero la idea es que sea una escala de colores).
Es decir, en un principio, todas las celdas están muertas (y de color blanco). Aquellas celdas que cambien de estado cambiarán de color al negro (que significa que están vivas). Si éstas mueren, dejarán un rastro (representado por el color más claro de la escala) que significará que allí hubo una celda viva. Entonces cada celda que estuvo viva, al morir dejará una rastro representado por un cierto color. Hay diez colores en la escala, empezando por un color claro hasta llegar a un color más oscuro, que dependerá de cuántas veces la celda estuvo viva y murió. Si sucedió una sola vez (es decir, la celda vivió y murió), el color será el más claro de la escala, y en la medida que se repita este proceso el color se va oscureciendo hasta llegar al color más oscuro de la escala.

La idea fundamental del parámetro rastro es de alguna forma mostrar la historia del juego. En principio, coloreará aquellas celdas que estuvieron vivas y murieron, al menos una vez, y diferenciando según el color, las veces que esto se repitió. El tono del color de cada celda, reflejará entonces las veces que ésta estuvo viva y murió.

Para ver los resultados incuyendo éste parámetro, sólo basta tildar la opción Mostrar rastro en el menú de parámetros debajo de la grilla.


Contacto

Podés hacernos comentarios y sugerencias acerca de nuestra versión del juego, o simplemente contactarte con nosotros:

Joaquín Bedoian - cruxnone@gmail.com

  • Coordenadas:
  • Iteraciones: