Tu tarea

Esta kata trata sobre calcular la siguiente generación del Juego de la Vida de Conway, dado cualquier posición inicial. Consulta http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life para conocer más sobre este famoso problema.

Comienzas con una cuadrícula bidimensional de celdas, donde cada celda está viva o muerta. En esta versión del problema, la cuadrícula es finita y no puede haber vida más allá de los bordes. Al calcular la próxima generación de la cuadrícula, sigue estas reglas:

  • Cualquier celda viva con menos de dos vecinos vivos muere, como si fuera causada por la escasez de población.
  • Cualquier celda viva con más de tres vecinos vivos muere, como por sobrepoblación.
  • Cualquier celda viva con dos o tres vecinos vivos continúa a la siguiente generación.
  • Cualquier celda muerta con exactamente tres vecinos vivos se convierte en una celda viva.

Debes escribir un programa que pueda aceptar una cuadrícula arbitraria de celdas y producirá una cuadrícula similar mostrando la próxima generación.

Para representar el tablero, puedes imprimir por consola con un formato similar a éste:

Generación 1:
4 8
........
....*...
...**...
........

La siguiente generación podría verse así:

Generación 2:
4 8
........
...**...
...**...
........

Para generar el estado inicial, puedes leer la primera generación desde un fichero con un formato similar al de la salida, o bien inicializar la vida de cada celda de forma aleatoria.

Recursos

Fuente: https://codingdojo.org/kata/GameOfLife/