Jogo da Vida

Em 1970, o cientista John Conway inventou um jogo que simula o processo de nascimento, sobrevivência, e morte. A ideia base é que um ser vivo necessita de outros seres vivos para sobreviver e procriar, mas um excesso de densidade populacional provoca a morte do ser vivo devido à escassez de comida.

Faz um programa para simular o jogo da vida. Os individuos vivem num array bidimensional e o programa deve gerar a geração seguinte a partir da geração anterior de acordo com as seguintes 3 regras:

Para o programa, usa uma array de 10 por 10 para representar o ambiente em que os seres nascem, reproduzem, e morrem. Cada posição do array é uma célula que pode ter um * (para representar um ser vivo) ou um espaço em branco. Cada célula tem um máximo de 8 células vizinhas, tal como está indicado na figura.

Se a geração inicial for a seguinte:

Geração 1:

  0 1 2 3 4 5 6 7 8 9 
0                     
1                     
2                     
3                     
4       * * * * *     
5                     
6                     
7                     
8       * * * * *     
9                     

as gerações seguintes serão:

Geração 2:

  0 1 2 3 4 5 6 7 8 9 
0                     
1                     
2                     
3         * * *       
4         * * *       
5         * * *       
6                     
7         * * *       
8         * * *       
9         * * *       


Geração 3:

  0 1 2 3 4 5 6 7 8 9 
0                     
1                     
2           *         
3         *   *       
4       *       *     
5         *   *       
6                     
7         *   *       
8       *       *     
9         *   *       


Geração 4:

  0 1 2 3 4 5 6 7 8 9 
0                     
1                     
2           *         
3         * * *       
4       * *   * *     
5                     
6                     
7                     
8       * *   * *     
9                     


...