Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- char Square[10] = { 'o', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
- void Board();
- void CheckWin();
- void CheckDraw();
- void PlayerMark();
- bool GameFin = false;
- int Turns = 0;
- int Player = 1;
- char Game = 'P';
- char Mark;
- void Board()
- {
- system("cls");
- cout << "+---+---+---+" << endl;
- cout << "| " << Square[1] << " | " << Square[2] << " | " << Square[3] << " |" << endl;
- cout << "+---+---+---+" << endl;
- cout << "| " << Square[4] << " | " << Square[5] << " | " << Square[6] << " |" << endl;
- cout << "+---+---+---+" << endl;
- cout << "| " << Square[7] << " | " << Square[8] << " | " << Square[9] << " |" << endl;
- cout << "+---+---+---+" << endl;
- }
- void PlayerMark()
- {
- if (Player == 1)
- Mark = 'X';
- if (Player == 2)
- Mark = 'O';
- }
- void NewPlayer()
- {
- if ((Player == 1))
- Player = 2;
- else if ((Player == 2))
- Player = 1;
- }
- void CheckWin()
- {
- if (Square[1] == Square[2] && Square[2] == Square[3])
- Game = 'W';
- else if (Square[4] == Square[5] && Square[5] == Square[6])
- Game = 'W';
- else if (Square[7] == Square[8] && Square[8] == Square[9])
- Game = 'W';
- else if (Square[1] == Square[4] && Square[4] == Square[7])
- Game = 'W';
- else if (Square[2] == Square[5] && Square[5] == Square[8])
- Game = 'W';
- else if (Square[3] == Square[6] && Square[6] == Square[9])
- Game = 'W';
- else if (Square[1] == Square[5] && Square[5] == Square[9])
- Game = 'W';
- else if (Square[3] == Square[5] && Square[5] == Square[7])
- Game = 'W';
- }
- void CheckDraw()
- {
- if (Turns == 9)
- Game = 'D';
- }
- int main()
- {
- int Choice;
- cout << "Welcome to tic-tac-toe" << endl;
- cout << "Player 1 is X, Player 2 is O." << endl;
- while(GameFin == false)
- {
- Board();
- cout << "Player " << Player << "'s turn." << endl;
- cout << "Enter a number of where you would like to take your move" << endl;
- cin >> Choice;
- PlayerMark();
- if (Choice == 1 && Square[1] == '1')
- Square[1] = Mark;
- else if (Choice == 2 && Square[2] == '2')
- Square[2] = Mark;
- else if (Choice == 3 && Square[3] == '3')
- Square[3] = Mark;
- else if (Choice == 4 && Square[4] == '4')
- Square[4] = Mark;
- else if (Choice == 5 && Square[5] == '5')
- Square[5] = Mark;
- else if (Choice == 6 && Square[6] == '6')
- Square[6] = Mark;
- else if (Choice == 7 && Square[7] == '7')
- Square[7] = Mark;
- else if (Choice == 8 && Square[8] == '8')
- Square[8] = Mark;
- else if (Choice == 9 && Square[9] == '9')
- Square[9] = Mark;
- else
- cout << "Move is invalid" << endl;
- CheckWin();
- if (Game == 'W')
- GameFin = true;
- Turns = Turns + 1;
- CheckDraw();
- if (Game == 'D')
- GameFin = true;
- if (Game == 'P')
- NewPlayer();
- }
- Board();
- if (Game == 'D')
- cout << "Game is a draw." << endl;
- else if (Game == 'W')
- cout << "Congratulations player " << Player << ", you win!" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement