Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main (void) {
- //initialized variables
- char Square1 = '1';
- char Square2 = '2';
- char Square3 = '3';
- char Square4 = '4';
- char Square5 = '5';
- char Square6 = '6';
- char Square7 = '7';
- char Square8 = '8';
- char Square9 = '9';
- int PlayerNumber = 1;
- bool GameOver = false;
- //Game Loop
- do {
- //print board
- cout << Square1 << "|" << Square2 << "|" << Square3 << endl;
- cout << "-+-+-" << endl;
- cout << Square4 << "|" << Square5 << "|" << Square6 << endl;
- cout << "-+-+-" << endl;
- cout << Square7 << "|" << Square8 << "|" << Square9 << endl;
- //set player markers
- char PlayerMarker;
- if (PlayerNumber == 1) {
- PlayerMarker = 'X';
- } else {
- PlayerMarker = 'O';
- }
- //ask for player turn
- cout << "Player " << PlayerNumber << "'s Turn:" << endl;
- //valid move boolean
- bool MoveOK;
- //valid move loop
- do {
- char NextMove;
- cin >> NextMove;
- MoveOK = true;
- //valid move check
- if (NextMove == '1' && Square1 == '1') {
- Square1 = PlayerMarker;
- } else if (NextMove == '2' && Square2 == '2') {
- Square2 = PlayerMarker;
- } else if (NextMove == '3' && Square3 == '3') {
- Square3 = PlayerMarker;
- } else if (NextMove == '4' && Square4 == '4') {
- Square4 = PlayerMarker;
- } else if (NextMove == '5' && Square5 == '5') {
- Square5 = PlayerMarker;
- } else if (NextMove == '6' && Square6 == '6') {
- Square6 = PlayerMarker;
- } else if (NextMove == '7' && Square7 == '7') {
- Square7 = PlayerMarker;
- } else if (NextMove == '8' && Square8 == '8') {
- Square8 = PlayerMarker;
- } else if (NextMove == '9' && Square9 == '9') {
- Square9 = PlayerMarker;
- } else {
- cout << "Invalid Move. Please try again.";
- MoveOK = false;
- }
- } while (!MoveOK);
- //GameOver check
- GameOver = false;
- //GameWon defined
- bool GameWon = true;
- if (Square1 != '1') {
- if (Square2 == Square1 && Square3 == Square1) {
- GameOver = true;
- }
- if (Square4 == Square1 && Square7 == Square1) {
- GameOver = true;
- }
- }
- if (Square5 != '5') {
- if (Square1 == Square5 && Square9 == Square5) {
- GameOver = true;
- }
- if (Square2 == Square5 && Square8 == Square5) {
- GameOver = true;
- }
- if (Square3 == Square5 && Square7 == Square5) {
- GameOver = true;
- }
- if (Square4 == Square5 && Square6 == Square5) {
- GameOver = true;
- }
- }
- if (Square9 != '9') {
- if (Square7 == Square9 && Square8 == Square9) {
- GameOver = true;
- }
- if (Square3 == Square9 && Square6 == Square9) {
- GameOver = true;
- }
- }
- if (Square1 != '1' && Square2 != '2' && Square3 != '3' &&
- Square4 != '4' && Square5 != '5' && Square6 != '6' &&
- Square7 != '7' && Square8 != '8' && Square9 != '9' && !GameOver)
- {
- GameOver = true;
- GameWon = false;
- }
- if (GameOver) {
- if (GameWon) {
- cout << "Player " << PlayerNumber << " wins!" << endl;
- }
- cout << Square1 << "|" << Square2 << "|" << Square3 << "|" << endl;
- cout << "-+-+-" << endl;
- cout << Square4 << "|" << Square5 << "|" << Square6 << "|" << endl;
- cout << "-+-+-" << endl;
- cout << Square7 << "|" << Square8 << "|" << Square9 << "|" << endl;
- char PlayAgain; //ask to play again
- cout << "Would you like to play again? <y/n>";
- cin >> PlayAgain;
- if (PlayAgain == 'y')
- {
- GameOver = false;
- Square1 = '1';
- Square2 = '2';
- Square3 = '3';
- Square4 = '4';
- Square5 = '5';
- Square6 = '6';
- Square7 = '7';
- Square8 = '8';
- Square9 = '9';
- }
- PlayerNumber = 1;
- } else { //alternate player turns
- if(PlayerNumber == 1)
- {
- PlayerNumber = 2;
- }
- else {
- PlayerNumber = 1;
- }
- }
- } while (!GameOver);
- }
Add Comment
Please, Sign In to add comment