By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
 432,474 Members | 966 Online
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 432,474 IT Pros & Developers. It's quick & easy.

# Tic Tac Toe - Every time it comes two the second player it tells me space already use

 P: 1 Every time it comes two the second player it tells me space already used. What am I doing wrong? Expand|Select|Wrap|Line Numbers #include  #include  #include  using namespace std;   // using  namespace std;   class TicTacToe { public:     TicTacToe();    // constructor         int Pick_Player();   // member function         int Pick_Row();    // member functions         int Pick_Column();  // member functions         int Check_Board();  // member function         void Choice_by_Player(int);  // member functions         void Choice_of_Row(int);   // member functions         void Choice_of_Column(int);  // member functions         void Tic_Tac_Toe_Board();  // member functions         bool Check_Move(int,int); // member functions   private:         int row;         int column;         int player;         int board[3][3];         char display_board[3][3]; };   TicTacToe::TicTacToe()//:row(0):column(0):player(1):board(0)(0):display_board(' ')(' ') {     row = 0;     column = 0;     player = 1;     int i = 0;     int j = 0;     for ( i = 0; i < 3; i++)     {         for ( j = 0; j < 3; j++)         {             board[i][j] = 0;             display_board[i][j] = ' ';         }     }     }   int TicTacToe::Pick_Player() {     return player; }   int TicTacToe::Pick_Row() {     return row; }   int TicTacToe::Pick_Column() {     return column; }   void TicTacToe::Choice_by_Player(int a) {     player = a; }   void TicTacToe::Choice_of_Row(int b) {     row = b; }   void TicTacToe::Choice_of_Column(int c) {     column = c; }   bool TicTacToe::Check_Move(int row, int column) {     row = 0;     column = 0;       if ( row != 0  && row != 1 && row != 2 )      {         cout << " Invalid choice!!";         cout << endl;         return 0;     }     else if ( column != 0 && column != 1 && column != 2 )     {         cout << " Invalid choice!! " << endl;         return 0;     }     else if ( board[row][column] == 1 || board[row][column] == 2)     {         cout << " Space already used. Try Again. " << endl;         return 0;     }     else      {         board[row][column] = player;         return 1;     } }   // end of Check_Move   int TicTacToe::Check_Board() {     int i = 0;     int j = 0;     int sum = 0;     int test = 0;     int count = 0;       for (i = 0; i < 3; i++)     {         sum = 0;         for ( j = 0; j < 3; j++)         {             if (board[i][j] == 0)             {                 count++;             }                 sum += (board[i][j] * board[i][j]);         }            if ( sum == 3 || sum == 12)          {             test = sum;             break;         }         sum = 0;     }    // end of for loop           for ( j = 0; j < 3; j++)     {         sum = 0;         for ( i = 0; i < 3; i++)         {             sum += (board[i][j] * board[i][j]);         }           if ( sum == 3 || sum == 12)         {             test = sum;             break;         }           sum = 0;     }   // end of for loop       if ( test != 3 || test != 12)     {               sum = (board[0][0] * board[0][0])+ (board[1][1] * board[1][1]) + (board[2][2] * board[2][2]);           if ( sum == 3 || sum == 12)         {             test  = sum;           }     }  // end of if condition       if (test != 3 || test != 12)     {               sum = (board[2][0] * board[2][0])+ (board[1][1] * board[1][1]) + (board[0][2] * board[0][2]);               if ( sum == 3 || sum == 12 )             {                 test = sum;             }     }  // end of if condition   //    }       if ( test == 3)     {         test = 1;     }       else if ( test == 12)     {         test = 2;     }       else if ( count == 0)     {          test = 3;     }     else     {         test = 0;     }     return test;   } // end of Check_Board   void TicTacToe::Tic_Tac_Toe_Board() {     for ( int row = 0; row < 3; row ++)     {           for ( int column = 0; column < 3; column++)         {               if ( board[row][column] == 0)             {                 display_board[row][column] = ' ';             }             if ( board[row][column] == 1)             {                 display_board[row][column] = 'X';             }             if ( board[row][column] == 2)             {                 display_board[row][column] = 'O';             }         }  // end of inner for loop     }  // end of outer for loop       cout << "         Let's Play Tic-Tac-Toe!            " << endl;     cout << "    Current Player: X        Current Player: O    " << endl;     cout << endl;     cout << "        |        |        "  << endl;     cout << "         |        |        "  << endl;     cout <<                    display_board[0][0] << "         |   "  << display_board[0][1]  <<  "         | "  << display_board[0][2] << "   "  << endl;     cout << "        |        |        " << endl;     cout << "-----------------------------------------------" << endl;     cout << "        |        |        " << endl;     cout << "        |        |        " << endl;     cout <<                      display_board[1][0] << "         |   "  << display_board[1][1]  <<  "         | "  << display_board[1][2] << "   "  << endl;     cout << "        |        |        " << endl;         cout << "-----------------------------------------------" << endl;     cout << "         |        |        " << endl;     cout <<                             display_board[2][0] << "         |   "  << display_board[2][1]  <<  "         | "  << display_board[2][2] << "   "  << endl;      cout << "        |        |        " << endl;     cout << "        |        |        " << endl;   }   // end of Tic_Tac_Toe_Board         int main() {         TicTacToe game;     bool test;     bool more = true;     int row = 0;     int column= 0;     int player;     int check = 0;         TicTacToe();       while ( more )     {         game.Tic_Tac_Toe_Board();         player = game.Pick_Player();             cout << " Current Player " << player;         cout << endl;         cout << " Enter Row Index ( 0,1,2):  " ;         cout << endl;         cin >> row;         cout << " Enter Column Index (0,1,2): " << endl;         cin >> column;           game.Choice_of_Row(row);         game.Choice_of_Column(column);           test = game.Check_Move( game.Pick_Row(), game.Pick_Column());           if ( test == 1)         {               check = game.Check_Board();         }             else         {             while ( test == 0 )              {                   cout << " Current Player " << game.Pick_Player() <<"  Invalid Choice" << endl;                   cout << " Enter Row Index ( 0,1,2): " ;                   cin >> row;                 cout << endl;                 cout << " Enter Column Index ( 0,1,2): " ;                   cin >> column;                 cout << endl;                 game.Choice_of_Row(row);                 game.Choice_of_Column(column);                   test = game.Check_Move(game.Pick_Row(),game.Pick_Column());             } // end of while loop             check = game.Check_Board();         }           if ( check == 1 || check == 2)         {                 break;         }           else if ( check == 3 )          {             game.Tic_Tac_Toe_Board();             cout << " The game is tied. " << endl;           }           if ( player == 1)         {             player = 2;         }         else         {             player = 1;         }         game.Choice_by_Player(player);       } // end of outer while loop       game.Tic_Tac_Toe_Board();       cout << " Player " << check << " wins. " << endl;       return 0; } // end of main function May 18 '10 #1
Share this Question
1 Reply

 100+ P: 687 You always place the check in column 0, row 0. May 19 '10 #2

### Post your reply

Sign in to post your reply or Sign up for a free account.