Você está na página 1de 2

#include <stdio.

h>
#include <locale.h>
#include <locale.h>

int main() {
setlocale(LC_ALL, "portuguese");

char board[3][3];
int l, c, coordenada, posicao;

// Inicializar a matriz do tabuleiro


for (l = 0; l < 3; l++) {
for (c = 0; c < 3; c++) {
board[l][c] = ' ';
}
}

// Imprimir o tabuleiro inicial


printf("\n");
for (l = 0; l < 3; l++) {
for (c = 0; c < 3; c++) {
if (c == 0)
printf("\t\t\t");
printf(" %c", board[l][c]);
if (c < 2)
printf("|");
}
if (l < 2)
printf("\n\t\t\t___+___+___\n");
}

// Ler coordenada
printf("\nDigite a coordenada (1-9): ");
scanf("%d", &coordenada);

// Validar a entrada do usuário


while (coordenada < 1 || coordenada > 9) {
printf("Coordenada inválida. Digite novamente (1-9): ");
scanf("%d", &coordenada);
}

// Mapear a coordenada para a posição no tabuleiro


switch (coordenada) {
case 1:
l = 0;
c = 0;
break;
case 2:
l = 0;
c = 1;
break;
case 3:
l = 0;
c = 2;
break;
case 4:
l = 1;
c = 0;
break;
case 5:
l = 1;
c = 1;
break;
case 6:
l = 1;
c = 2;
break;
case 7:
l = 2;
c = 0;
break;
case 8:
l = 2;
c = 1;
break;
case 9:
l = 2;
c = 2;
break;
}

// Verificar se a posição está vazia antes de atribuir 'X'


if (board[l][c] == ' ') {
board[l][c] = 'X';
} else {
printf("Posição já ocupada. Escolha outra coordenada.\n");
return 1; // Saída com código de erro
}

// Imprimir o tabuleiro após a jogada


printf("\n");
for (l = 0; l < 3; l++) {
for (c = 0; c < 3; c++) {
if (c == 0)
printf("\t\t\t");
printf(" %c", board[l][c]);
if (c < 2)
printf("|");
}
if (l < 2)
printf("\n\t\t\t___+___+___\n");
}

return 0;
}

Você também pode gostar