Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int player;
- char board[9] = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};
- void gameboard();
- void takeTurns(bool, int);
- void move(int);
- bool playAgain = 0;
- bool replay();
- bool winCheck();
- bool moveCheck(int);
- string player1 = "Player 1";
- string player2 = "Player 2";
- int main()
- {
- char stop;
- player = 1;
- do {
- cout << "Enter name for Player 1 \n";
- cin >> player1;
- cout << "Enter name for Player 2 \n";
- cin >> player2;
- gameboard();
- takeTurns(winCheck(), player);
- playAgain = replay();
- } while (playAgain);
- cout << endl << "Type any key and press enter to exit" << endl;
- cin >> stop;
- return 0;
- }
- bool replay()
- {
- char playAgain;
- cout << "Do you want to play again? (y/n)" << endl;
- cin >> playAgain;
- if (playAgain == 'y')
- return true;
- else
- return false;
- }
- void takeTurns(bool winCheck(), int player)
- {
- if (winCheck()){
- if (player == 0)
- cout << endl << player1 << " has WON!\n";
- else
- cout << endl << player2 << " has WON!\n";
- }
- if (!winCheck()){
- if (player == 1)
- player = 0;
- else
- player = 1;
- }
- move(player);
- }
- void gameboard()
- {
- cout << "\n\t" << board[0] << " | " << board[1] << " | " << board[2] << "\n";
- cout << "\t" << "--------- \n";
- cout << "\t" << board[3] << " | " << board[4] << " | " << board[5] << "\n";
- cout << "\t" << "--------- \n";
- cout << "\t" << board[6] << " | " << board[7] << " | " << board[8] << endl << endl;
- }
- bool winCheck()
- {
- if ( board[0] == board[1] && board[2] == board[0])
- return true;
- if ( board[3] == board[4] && board[5] == board[3])
- return true;
- if ( board[6] == board[7] && board[8] == board[6])
- return true;
- if ( board[0] == board[3] && board[6] == board[0])
- return true;
- if ( board[1] == board[4] && board[7] == board[1])
- return true;
- if ( board[2] == board[5] && board[8] == board[2])
- return true;
- if ( board[0] == board[4] && board[8] == board[0])
- return true;
- if ( board[6] == board[4] && board[2] == board[6])
- return true;
- else
- return false;
- }
- void move(int player)
- {
- int box;
- if ( player == 0 )
- cout << "\nEnter your move " << player1 << endl;
- else
- cout << "\nEnter your move " << player2 << endl;
- cin >> box;
- if ( moveCheck(box) )
- {
- if (player == 0)
- board[box-1] = 'X';
- else
- board[box-1] = 'O';
- }
- }
- bool moveCheck(int box)
- {
- if ( board[box-1] == 'X' || board[box-1] == 'O' )
- {
- cout << "You can't choose a spot that has already been taken.\n";
- return false;
- }
- if ( box > 9)
- {
- cout << "Please enter a number on the board.\n";
- return false;
- }
- else
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment