Skip to content

Instantly share code, notes, and snippets.

@YoussefMuhamad
Created January 19, 2016 23:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save YoussefMuhamad/f7746a2d189af73f0b5e to your computer and use it in GitHub Desktop.
Save YoussefMuhamad/f7746a2d189af73f0b5e to your computer and use it in GitHub Desktop.
#include <iostream>
using namespace std;
char quadrado[10] = { 'o','1','2','3','4','5','6','7','8','9' };
int vitoria();
void campo();
int main()
{
int player = 1, i, escolha;
char mark;
do
{
campo();
player = (player % 2) ? 1 : 2;
cout << "Player " << player << ", digite um numero: ";
cin >> escolha;
mark = (player == 1) ? 'X' : 'O';
if (escolha == 1 && quadrado[1] == '1')
quadrado[1] = mark;
else if (escolha == 2 && quadrado[2] == '2')
quadrado[2] = mark;
else if (escolha == 3 && quadrado[3] == '3')
quadrado[3] = mark;
else if (escolha == 4 && quadrado[4] == '4')
quadrado[4] = mark;
else if (escolha == 5 && quadrado[5] == '5')
quadrado[5] = mark;
else if (escolha == 6 && quadrado[6] == '6')
quadrado[6] = mark;
else if (escolha == 7 && quadrado[7] == '7')
quadrado[7] = mark;
else if (escolha == 8 && quadrado[8] == '8')
quadrado[8] = mark;
else if (escolha == 9 && quadrado[9] == '9')
quadrado[9] = mark;
else
{
cout << "Invalid move ";
player--;
cin.ignore();
cin.get();
}
i = checkwin();
player++;
} while (i == -1);
campo();
if (i == 1)
cout << "==>\aPlayer " << --player << " win ";
else
cout << "==>\aGame draw";
cin.ignore();
cin.get();
return 0;
}
int vitoria()
{
if (quadrado[1] == quadrado[2] && quadrado[2] == quadrado[3])
return 1;
else if (quadrado[4] == quadrado[5] && quadrado[5] == quadrado[6])
return 1;
else if (quadrado[7] == quadrado[8] && quadrado[8] == quadrado[9])
return 1;
else if (quadrado[1] == quadrado[4] && quadrado[4] == quadrado[7])
return 1;
else if (quadrado[2] == quadrado[5] && quadrado[5] == quadrado[8])
return 1;
else if (quadrado[3] == quadrado[6] && quadrado[6] == quadrado[9])
return 1;
else if (quadrado[1] == quadrado[5] && quadrado[5] == quadrado[9])
return 1;
else if (quadrado[3] == quadrado[5] && quadrado[5] == quadrado[7])
return 1;
else if (quadrado[1] != '1' && quadrado[2] != '2' && quadrado[3] != '3'
&& quadrado[4] != '4' && quadrado[5] != '5' && quadrado[6] != '6'
&& quadrado[7] != '7' && quadrado[8] != '8' && quadrado[9] != '9')
return 0;
else
return -1;
}
void campo()
{
system("cls");
cout << "\n\n\tTic Tac Toe\n\n";
cout << "Player 1 (X) - Player 2 (O)" << endl << endl;
cout << endl;
cout << " | | " << endl;
cout << " " << quadrado[1] << " | " << quadrado[2] << " | " << quadrado[3] << endl;
cout << "_____|_____|_____" << endl;
cout << " | | " << endl;
cout << " " << quadrado[4] << " | " << quadrado[5] << " | " << quadrado[6] << endl;
cout << "_____|_____|_____" << endl;
cout << " | | " << endl;
cout << " " << quadrado[7] << " | " << quadrado[8] << " | " << quadrado[9] << endl;
cout << " | | " << endl << endl;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment