Jogo da vida em c
#include <stdlib.h>
#include <windows.h> void montaTela (); int leiaNlimSup( int li, int ls); void leiaMatriz (int nl, int nc, char mA[][25]); void mostraMatriz (int nl, int nc, char mA[][25]); void novaMatriz (int nl, int nc, char mA[][25], char mB[][25]); int calcNumVizinhos (int i, int j, int nl, int nc, char mA[][25]); void reproduz (int i, int j, int x, char mA[][25], char mB[][25]); void recebeMatriz (int nl, int nc, char mA[][25], char mB[][25]); int comparaMatriz (int nl, int nc, char mA[][25], char mB[][25]); void gotoxy (int x, int y); int main()
{
int n, cont=1, iguais; // cont=contador de geraçoes; iguais=variavel para comparar matrizes char mA[25][25]={0}, mB[25][25]={0}, resp; montaTela(); n=leiaNlimSup (10,25); // le a dimensao da matriz puts(" "); leiaMatriz (n,n,mA); puts(" "); do { printf("*****%d%c GERACAO*****",cont++,166); puts(" \n"); novaMatriz(n,n,mA,mB); puts("GERACAO ANTERIOR:"); mostraMatriz (n,n,mA); puts("GERACAO ATUAL:"); mostraMatriz (n,n,mB); iguais=comparaMatriz (n,n,mA,mB); if (iguais==1) // se forem iguais { puts ("\nFim de jogo, as matrizes sao iguais"); return 1; } recebeMatriz (n,n,mA,mB); // matriz A recebe matriz B puts("\nDeseja formar mais uma geracao? S/N"); resp=toupper(getche()); puts(" "); }while (resp=='S'); return 0;
}
void montaTela ()
{
int i=0; printf("%c",201); // canto superior esquerdo while(i<64) // linha de cima { printf("%c",205); i++; // } printf("%c",187); // canto superior direito i=1; // coluna da direita while(i<3) { gotoxy(65,i); printf("%c",186); i++; } // gotoxy(65,3); // canto inferior direito printf("%c",188);//