Buscar

velha (escrever l-c).

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

void inicia_matriz (char m[3][3]) 
{ 
 int i, j; 
 
 for (i=0; i<3; i++) 
 for (j=0; j<3; j++) 
 m[i][j] = ' '; 
} 
void imprime_matriz (char m[3][3]) 
{ 
 printf ("%c | %c | %c\n", m[0][0], m[0][1], m[0][2]); 
 printf ("---|-----|----\n"); 
 printf ("%c | %c | %c\n", m[1][0], m[1][1], m[1][2]); 
 printf ("---|-----|----\n"); 
 printf ("%c | %c | %c\n", m[2][0], m[2][1], m[2][2]); 
} 
int verifica_velha (char m[3][3]) 
{ 
 int i, j; 
 
 for (i=0; i<3; i++) 
 for (j=0; j<3; j++) 
 if (m[i][j] == ' ') return 0; 
 
 return 1; 
} 
int ganhou (char m[3][3]) 
{ 
 int i, j; 
 
 int xLinha = 0; 
 int oLinha = 0; 
 
 int xColuna = 0; 
 int oColuna = 0; 
 
 int vazios = 0; 
 for (i=0; i<3; i++) { 
 for (j=0; j<3; j++) { 
 if (m[i][j] == 'X') xLinha++; 
 if (m[i][j] == 'O') oLinha++; 
 if (m[j][i] == 'X') xColuna++; 
 if (m[j][i] == 'O') oColuna++; 
 if (m[i][j] == ' ') vazios++; 
 
 } 
 
 if ((xLinha == 3) || (xColuna == 3)) return 1; 
 if ((oLinha == 3) || (oColuna == 3)) return 2; 
 
 xLinha = 0; 
 oLinha = 0; 
 xColuna = 0; 
 oColuna = 0; 
 } 
 
 if ((m[0][0] == m[1][1]) && (m[0][0] == m[2][2])) { // se as diagonais forem iguais 
 if (m[0][0] == 'X') return 1; 
 else { 
 if (m[0][0] == 'O') return 2; 
 } 
 } 
 
 if ((m[0][2] == m[1][1]) && (m[2][0] == m[1][1])) { 
 if (m[0][2] == 'X') return 1; 
 else { 
 if (m[0][2] == 'O') return 2; 
 } 
 } 
 if (vazios > 0) { 
 return 3; } 
 
 return 0; 
} 
 
 
void mostraPlacar (int placar[3]) { 
 printf("\n\t\tPlacar Atual: "); 
 printf("%d - %d - %d\n\n",placar[0],placar[1],placar[2]); 
} 
int main() 
{ 
 char m[3][3]; 
 int jogador; 
 int jogando; 
 int l, c; 
 int peca[2] = {'X', 'O'}; 
 int i; 
 
 int situacao; 
 
 int placar[3] = {0,0,0}; 
 inicia_matriz (m); 
 imprime_matriz (m); 
 jogador = 0; 
 printf("Vez do Jogador %c (entre com: linha-coluna): ",peca[jogador]); 
 scanf ("%d-%d", &l, &c); 
 l--; 
 c--; 
 
 m[l][c] = peca[jogador]; 
 jogando = 1; 
 while (jogando) 
 { 
 mostraPlacar(placar); 
 imprime_matriz (m); 
 situacao = ganhou(m); 
 if (situacao == 3) { 
 if (jogador == 0) jogador = 1; 
 else jogador = 0; 
 
 printf("Vez do Jogador %c (entre com: linha-coluna): ",peca[jogador]); 
 i = 1; 
 while (i != 2) 
 { 
 scanf ("%d-%d", &l, &c); 
 l--; 
 c--; 
 
 if (m[l][c] == ' ') { 
 m[l][c] = peca[jogador]; 
 i=2; 
 } 
 else { // já exite uma peca 
 printf("Ja exite uma peca aqui!! Escolha posicao: "); 
 } 
 } 
 } else { 
 if (situacao == 1) { 
 printf("\n\nO jogador 'X' venceu!!"); 
 placar[0]++; 
 } 
 if (situacao == 2) { 
 printf("\n\nO jogador 'O' venceu!!"); 
 placar[2]++; 
 } 
 if (situacao == 0) { 
 printf("\n\nDeu velha..."); 
 placar[1]++; 
 } 
 inicia_matriz (m); 
 
 printf("\n\nDeseja jogar novamente?? (1-sim, 0-nao): "); 
 scanf("%d",&jogando); 
 } 
 } 
getch(); 
 return 0; 
}

Continue navegando