Trabalho jogo da vida em c
#include <stdio.h>
#define TAM 12
main()
{
char celulas[TAM][TAM]; // Matriz da geração atual char geracao[TAM][TAM]; // Matriz da nova geração int cont; // Contador de células int ger = 0; // Contador de gerações char resp = 'y'; // Resposta para seguir int i,j; // Contador de linha/coluna
for(i = 1; i < (TAM -1); i++) { // Inicializando a primeira geração aleatória. printf("Linha %i: ", i); for(j = 1; j < (TAM -1); j++) { celulas[i][j] = getche(); // A função getche vai capturar o caracter e exibir na tela, nessa situação usaremos * para representar as células if(j == (TAM - 2)) { printf("\n"); } // TAM foi definido como 12 no inicio do programa } } printf("\n");
// Enquanto a resposta for igual a "y" o programa continuara o comando while vai até a linha 84. while(resp == 'y') { for(i = 0; i < TAM; i++) { // Moldura for(j = 0; j < TAM; j++) { geracao[i][j] = '.'; } } for(i = 1; i < (TAM - 1); i++) { // Limpa a matriz for(j = 1; j < (TAM - 1); j++) { geracao[i][j] = ' '; } }
for(i = 1; i < (TAM -1); i++) { // Contando as células da geração atual for(j = 1; j < (TAM -1); j++) { cont = 0; //Contagem de células if(celulas[i-1][j-1] == '*' && celulas[i][j] != 'c') { cont++; } if(celulas[i-1][j] == '*' && celulas[i][j] != 'c') { cont++; } if(celulas[i-1][j+1] == '*' && celulas[i][j] != 'c') { cont++; } if(celulas[i][j-1] == '*' && celulas[i][j] != 'c') { cont++; } if(celulas[i][j+1] == '*' && celulas[i][j] != 'c') { cont++; }