Guest User

Untitled

a guest
Jul 15th, 2012
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. int  player;
  7. char board[9] = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};
  8. void gameboard();
  9. void takeTurns(bool, int);
  10. void move(int);
  11. bool playAgain = 0;
  12. bool replay();
  13. bool winCheck();
  14. bool moveCheck(int);
  15.  
  16. string player1 = "Player 1";
  17. string player2 = "Player 2";
  18.  
  19.  
  20. int main()
  21. {
  22.  
  23.     char stop;
  24.     player = 1;
  25.  
  26.     do {
  27.         cout << "Enter name for Player 1 \n";
  28.         cin >> player1;
  29.         cout << "Enter name for Player 2 \n";
  30.         cin >> player2;
  31.         gameboard();
  32.         takeTurns(winCheck(), player);
  33.         playAgain = replay();
  34.     } while (playAgain);
  35.  
  36.     cout << endl << "Type any key and press enter to exit" << endl;
  37.     cin >> stop;
  38.     return 0;
  39. }
  40.  
  41. bool replay()
  42. {
  43.     char playAgain;
  44.  
  45.     cout << "Do you want to play again? (y/n)" << endl;
  46.     cin >> playAgain;
  47.  
  48.     if (playAgain == 'y')
  49.         return true;
  50.     else
  51.         return false;
  52. }
  53.  
  54.  
  55. void takeTurns(bool winCheck(), int player)
  56. {
  57.     if (winCheck()){
  58.         if (player == 0)
  59.             cout << endl << player1 << " has WON!\n";
  60.         else
  61.             cout << endl << player2 << " has WON!\n";
  62.     }
  63.  
  64.     if (!winCheck()){
  65.         if (player == 1)
  66.             player = 0;
  67.         else
  68.             player = 1;
  69.     }
  70.  
  71.         move(player);
  72. }
  73.  
  74. void gameboard()
  75. {
  76.     cout << "\n\t" << board[0] << " | " << board[1] << " | " << board[2] << "\n";
  77.     cout << "\t" << "--------- \n";
  78.     cout << "\t" << board[3] << " | " << board[4] << " | " << board[5] << "\n";
  79.     cout << "\t" << "--------- \n";
  80.     cout << "\t" << board[6] << " | " << board[7] << " | " << board[8] << endl << endl;
  81.  }
  82.  
  83. bool winCheck()
  84. {
  85.      if ( board[0] == board[1] && board[2] == board[0])
  86.         return true;
  87.      if ( board[3] == board[4] && board[5] == board[3])
  88.         return true;
  89.      if ( board[6] == board[7] && board[8] == board[6])
  90.         return true;
  91.      if ( board[0] == board[3] && board[6] == board[0])
  92.         return true;
  93.      if ( board[1] == board[4] && board[7] == board[1])
  94.         return true;
  95.      if ( board[2] == board[5] && board[8] == board[2])
  96.         return true;
  97.      if ( board[0] == board[4] && board[8] == board[0])
  98.         return true;
  99.      if ( board[6] == board[4] && board[2] == board[6])
  100.         return true;
  101.      else
  102.         return false;
  103. }
  104.  
  105. void move(int player)
  106. {
  107.      int box;
  108.  
  109.      if ( player == 0 )
  110.         cout << "\nEnter your move " << player1 << endl;
  111.      else
  112.         cout << "\nEnter your move " << player2 << endl;
  113.      cin >> box;
  114.      if ( moveCheck(box) )
  115.      {
  116.         if (player == 0)
  117.             board[box-1] = 'X';
  118.         else
  119.             board[box-1] = 'O';
  120.      }
  121. }
  122.  
  123. bool moveCheck(int box)
  124. {
  125.      if ( board[box-1] == 'X' || board[box-1] == 'O' )
  126.      {
  127.          cout << "You can't choose a spot that has already been taken.\n";
  128.          return false;
  129.      }
  130.      if ( box > 9)
  131.      {
  132.          cout << "Please enter a number on the board.\n";
  133.          return false;
  134.      }
  135.      else
  136.          return true;
  137. }
Advertisement
Add Comment
Please, Sign In to add comment