#include #define TRUE 1 #define FALSE 0 #define MAX_LINHAS 3 #define MAX_COLUNAS 3 int jogadaVencedora(char tabuleiro[MAX_LINHAS][MAX_COLUNAS], char c) { int vencedor = FALSE; if ( // horizontais (tabuleiro[0][0] == c && tabuleiro[0][1] == c && tabuleiro[0][2] == c) || (tabuleiro[1][0] == c && tabuleiro[1][1] == c && tabuleiro[1][2] == c) || (tabuleiro[2][0] == c && tabuleiro[2][1] == c && tabuleiro[2][2] == c) || // verticais (tabuleiro[0][0] == c && tabuleiro[1][0] == c && tabuleiro[2][0] == c) || (tabuleiro[0][1] == c && tabuleiro[1][1] == c && tabuleiro[2][1] == c) || (tabuleiro[0][2] == c && tabuleiro[1][2] == c && tabuleiro[2][2] == c) || // diagonais (tabuleiro[0][0] == c && tabuleiro[1][1] == c && tabuleiro[2][2] == c) || (tabuleiro[0][2] == c && tabuleiro[1][1] == c && tabuleiro[2][0] == c)) { vencedor = TRUE; } return vencedor; } void inicializaTabuleiro(char tabuleiro[MAX_LINHAS][MAX_COLUNAS]) { int linha, coluna; for (linha = 0; linha < MAX_LINHAS; linha++) { for (coluna = 0; coluna < MAX_COLUNAS; coluna++) { tabuleiro[linha][coluna] = '_'; } } } void imprimeTabuleiro(char tabuleiro[MAX_LINHAS][MAX_COLUNAS]) { int i, j; system("cls"); printf("\n"); for (i = 0; i < MAX_LINHAS; i++) { for (j = 0; j < MAX_COLUNAS; j++) { printf(" %c ", tabuleiro[i][j]); } printf("\n"); } } int main() { char tabuleiro[MAX_LINHAS][MAX_COLUNAS]; int jogada, sair = 1, linha, coluna; // inicializa tabuleiro -- cada celula com o caracter '_' inicializaTabuleiro(tabuleiro); while (sair != 0) { imprimeTabuleiro(tabuleiro); /*************** JOGADOR 1 ********************/ printf("\nJogador 1, introduza a sua jogada:\n"); printf("Linha: "); scanf("%d", &linha); printf("Coluna: "); scanf("%d", &coluna); tabuleiro[linha][coluna] = 'x'; imprimeTabuleiro(tabuleiro); if (jogadaVencedora(tabuleiro, 'x')) { printf("O Jogador 1 venceu!\n"); sair = 0; } else { /*************** JOGADOR 2 ********************/ printf("\nJogador 2, introduza a sua jogada:\n"); printf("Linha: "); scanf("%d", &linha); printf("Coluna: "); scanf("%d", &coluna); tabuleiro[linha][coluna] = 'o'; imprimeTabuleiro(tabuleiro); if (jogadaVencedora(tabuleiro, 'o')) { printf("O Jogador 2 venceu!\n"); sair = 0; } } getchar(); getchar(); } return 0; }