
14:57

Cleidimar Viana dos Santos
7 comentários
No post de hoje veremos um exemplo simples de jogo da velha em C utilizando matrizes bidimensionais, onde você entra com duas coordenadas e o programa imprimirá o local onde você marcou X, ou até mesmo o O, até que o complete. Veja abaixo:
- #include <stdio.h>
- int main()
- {
- char velha[3][3];
- int linha, coluna;
- for(linha = 0; linha < 3; linha++)
- {
- for(coluna = 0; coluna < 3; coluna++)
- {
- velha[linha][coluna] = ' ';
- }
- }
- int jogada = 0;
- while(1)
- {
- printf("Digite as coordenadas:\n");
- int i, j;
- scanf("%d %d", &i, &j);
- if(velha[i][j] != ' ')
- {
- printf("Posicao ocupada!! Tente de novo.\n");
- continue;
- }
- if(jogada%2 == 0)
- {
- velha[i][j] = 'x';
- }
- else {
- velha[i][j] = 'o';
- }
- for(linha = 0; linha < 3; linha++)
- {
- printf("|");
- for(coluna = 0; coluna < 3; coluna++)
- {
- printf("%c|", velha[linha][coluna]);
- }
- printf("\n");
- // Linhas
- if(velha[0][0] == velha[0][1] && velha[0][1] == velha[0][2] && velha[0][0] != ' ')
- {
- printf("O jogador %c ganhou.\n", velha[0][0]);
- break;
- }
- else if(velha[1][0] == velha[1][1] && velha[1][1] == velha[1][2] && velha[1][0] != ' ')
- {
- printf("O jogador %c ganhou.\n", velha[1][0]);
- break;
- }
- else if(velha[2][0] == velha[2][1] && velha[2][1] == velha[2][2] && velha[2][0] != ' ')
- {
- printf("O jogador %c ganhou.\n", velha[2][0]);
- break;
- }
- else if(velha[0][0] == velha[1][0] && velha[1][0] == velha[2][0] && velha[0][0] != ' ')
- {
- printf("O jogador %c ganhou.\n", velha[0][0]);
- break;
- }
- else if(velha[0][1] == velha[1][1] && velha[1][1] == velha[2][1] && velha[0][1] != ' ')
- {
- printf("O jogador %c ganhou.\n", velha[0][1]);
- break;
- }
- else if(velha[0][2] == velha[1][2] && velha[1][2] == velha[2][2] && velha[0][2] != ' ')
- {
- printf("O jogador %c ganhou.\n", velha[0][2]);
- break;
- }
- else if(velha[0][0] == velha[1][1] && velha[1][1] == velha[2][2] && velha[0][0] != ' ')
- {
- printf("O jogador %c ganhou.\n", velha[0][0]);
- break;
- }
- else if(velha[2][0] == velha[1][1] && velha[1][1] == velha[0][2] && velha[2][0] != ' ')
- {
- printf("O jogador %c ganhou.\n", velha[2][0]);
- break;
- }
- jogada++;
- }
-
- return 0;
- }