Skip to content

Instantly share code, notes, and snippets.

@IanRamosC
Created November 8, 2015 23:35
Show Gist options
  • Save IanRamosC/803887da814ca55f4e0f to your computer and use it in GitHub Desktop.
Save IanRamosC/803887da814ca55f4e0f to your computer and use it in GitHub Desktop.
#include <stdio.h>
char casas[10] = {'o','1','2','3','4','5','6','7','8','9'};
int checarVitoria();
void velha();
int main()
{
int jogador = 1,i,escolha;
char mark;
do
{
velha();
jogador = (jogador % 2) ? 1 : 2;
printf("Jogador %d, digite um numero: ", jogador);
scanf("%d", &escolha);
mark = (jogador == 1) ? 'X' : 'O';
if (escolha == 1 && casas[1] == '1'){
casas[1] = mark;
} else if (escolha == 2 && casas[2] == '2') {
casas[2] = mark;
} else if (escolha == 3 && casas[3] == '3') {
casas[3] = mark;
} else if (escolha == 4 && casas[4] == '4') {
casas[4] = mark;
} else if (escolha == 5 && casas[5] == '5') {
casas[5] = mark;
} else if (escolha == 6 && casas[6] == '6') {
casas[6] = mark;
} else if (escolha == 7 && casas[7] == '7') {
casas[7] = mark;
} else if (escolha == 8 && casas[8] == '8') {
casas[8] = mark;
} else if (escolha == 9 && casas[9] == '9') {
casas[9] = mark;
} else {
printf("Jogada invalida.\n");
jogador--;
}
i = checarVitoria();
jogador++;
} while(i==-1);
velha();
if(i==1) {
printf("Jogador %d venceu.", jogador-1);
} else {
printf("Empate");
}
return 0;
}
int checarVitoria()
{
if (casas[1] == casas[2] && casas[2] == casas[3]){
return 1;
} else if (casas[4] == casas[5] && casas[5] == casas[6]){
return 1;
} else if (casas[7] == casas[8] && casas[8] == casas[9]) {
return 1;
} else if (casas[1] == casas[4] && casas[4] == casas[7]) {
return 1;
} else if (casas[2] == casas[5] && casas[5] == casas[8]) {
return 1;
} else if (casas[3] == casas[6] && casas[6] == casas[9]) {
return 1;
} else if (casas[1] == casas[5] && casas[5] == casas[9]) {
return 1;
} else if (casas[3] == casas[5] && casas[5] == casas[7]) {
return 1;
} else if (casas[1] != '1' && casas[2] != '2' && casas[3] != '3' && casas[4] != '4' && casas[5] != '5' && casas[6] != '6' && casas[7] != '7' && casas[8] != '8' && casas[9] != '9') {
return 0;
} else {
return -1;
}
}
void velha()
{
system("cls");
printf("\n\n\tJogo da Velha - C++\n\n");
printf("Jogador 1 (X) - Jogador 2 (O)\n\n");
printf(" | | \n");
printf(" %c | %c | %c\n", casas[1], casas[2], casas[3]);
printf("_____|_____|_____\n");
printf(" | | \n");
printf(" %c | %c | %c\n", casas[4], casas[5], casas[6]);
printf("_____|_____|_____\n");
printf(" | | \n");
printf(" %c | %c | %c\n", casas[7], casas[8], casas[9]);
printf(" | | \n\n");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment