### Help with Random Number Selector.

Hello, I need to get player two to become like an AI and randomly pick the number. I have been having difficulty with this, please help me!!

 ``123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220`` `````` // Tic Tac Toe, by Keegan Mathur // Include the libraries #include #include //Use the standard namespace using namespace std; // Declare global variables char Board[9]; // Declare functions void showBoard ( ); bool moveIsValid (int m); int whoWon ( ); //Returns 0 if no one has won, 1 if player 1 has won, and 2 if player 2 has won void main ( ) { // Declare local variables string Player_1_Name; string Player_2_Name; int Whose_Turn = 1; // 1 means it's player 1's turn, 2 means it's player 2's turn int Move; // Stores where the player wants to move int Total_Moves = 0; //Assign values to the playing board Board[0] = '0'; Board[1] = '1'; Board[2] = '2'; Board[3] = '3'; Board[4] = '4'; Board[5] = '5'; Board[6] = '6'; Board[7] = '7'; Board[8] = '8'; // Get player names cout << "Player 1: Please enter your name." << endl; cin >> Player_1_Name; cout << "Player 2: Please enter your name." << endl; cin >> Player_2_Name; while (whoWon ( ) == 0 && Total_Moves < 9) { // Do this until the player chooses a valid move do { // Show the board showBoard ( ); // Tell which player to move if (Whose_Turn == 1) { cout << Player_1_Name << ": It's your turn." << endl; } else { cout << Player_2_Name << ": It's your turn." << endl; } // Get the move cout << "Enter the number of the spot where you'd like to move." << endl; cin >> Move; } while (moveIsValid (Move) != true); // Add 1 to Total_Moves Total_Moves++; // Change whose turn it is switch (Whose_Turn) { case (1): { Board[Move] = 'x'; Whose_Turn = 2; break; } case (2): { Board[Move] = 'o'; Whose_Turn = 1; } } } // Show the board showBoard ( ); if (whoWon ( ) == 1) { cout << Player_1_Name << " has won the game!" << endl; } else if (whoWon ( ) == 2) { cout << Player_2_Name << " has won the game!" << endl; } else { cout << "It's a tie game!" << endl; } system ("PAUSE"); } void showBoard ( ) { cout << endl; cout << Board[0] << " | " << Board[1] << " | " << Board[2] << endl; cout << "--+---+--" << endl; cout << Board[3] << " | " << Board[4] << " | " << Board[5] << endl; cout << "--+---+--" << endl; cout << Board[6] << " | " << Board[7] << " | " << Board[8] << endl; cout << endl; } bool moveIsValid (int m) { if (Board[m] != 'x' && Board[m] != 'o') { return true; } else { return false; } } int whoWon ( ) { if (Board[0] == Board[1] && Board[1] == Board[2]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[3] == Board[4] && Board[4] == Board[5]) { if (Board[3] == 'x') { return 1; } else { return 2; } } if (Board[6] == Board[7] && Board[7] == Board[8]) { if (Board[6] == 'x') { return 1; } else { return 2; } } if (Board[0] == Board[3] && Board[3] == Board[6]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[1] == Board[4] && Board[4] == Board[7]) { if (Board[1] == 'x') { return 1; } else { return 2; } } if (Board[2] == Board[5] && Board[5] == Board[8]) { if (Board[2] == 'x') { return 1; } else { return 2; } } if (Board[0] == Board[4] && Board[4] == Board[8]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[2] == Board[4] && Board[4] == Board[6]) { if (Board[2] == 'x') { return 1; } else { return 2; } } return 0; }``````

Thanks!
Please specify what 'difficulty' you are having.
Im just not sure where exactly I would put the function to generate the random number (between 0-8) for player 2
I'm not sure but what I understand is that your player 2 is computer and you want to generate the move for it.

 ``1234567891011`` ``````// Tell which player to move if (Whose_Turn == 1) { cout << Player_1_Name << ": It's your turn." << endl; cin >> Move; } else { cout << Player_2_Name << ": It's your turn." << endl; // generate the random move here. }``````

thats what i meant, this is what I did, I have two errors?

 ``1234567891011121314`` ``````// Tell which player to move if (Whose_Turn == 1) { cout << Player_1_Name << ": It's your turn." << endl; } else { cout << Player_2_Name << ": It's your turn." << endl; rand ( ) 1 - 8 } // Get the move cout << "Enter the number of the spot where you'd like to move." << endl; cin >> Move; } while (moveIsValid (Move) != true);``````
You will have to include <cstdlib> to use the rand() function, and probably <ctime> if you want to seed the random number generator with a time value:

 ``12345`` ``````#include #include // in your main function srand( time( NULL ) );``````

 ``123456789101112`` ``````// Tell which player to move if (Whose_Turn == 1) { cout << Player_1_Name << ": It's your turn." << endl; cin >> Move; } else { cout << Player_2_Name << ": It's your turn." << endl; Move = rand() % 9; }``````

Ok so no errors with just the loop part, bt 43 errors when I added the top part.

 ``123456789101112131415161718192021222324252627282930`` `````` #include #include // in your main function srand( time( NULL ) ); while (whoWon ( ) == 0 && Total_Moves < 9) { // Do this until the player chooses a valid move do { // Show the board showBoard ( ); // Tell which player to move if (Whose_Turn == 1) { cout << Player_1_Name << ": It's your turn." << endl; } else { cout << Player_2_Name << ": It's your turn." << endl; Move = rand() % 9; } // Get the move cout << "Enter the number of the spot where you'd like to move." << endl; cin >> Move; } while (moveIsValid (Move) != true);``````

What did I do wrong?? Im sorry, Im new to C++ only bee doing it for a little while, I am in an intro class. Thank you very much for your help!
 ``123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229`` `````` // Tic Tac Toe, by Keegan Mathur // Include the libraries #include #include //Use the standard namespace using namespace std; // Declare global variables char Board[9]; // Declare functions void showBoard ( ); bool moveIsValid (int m); int whoWon ( ); //Returns 0 if no one has won, 1 if player 1 has won, and 2 if player 2 has won void main ( ) { // Declare local variables string Player_1_Name; string Player_2_Name; int Whose_Turn = 1; // 1 means it's player 1's turn, 2 means it's player 2's turn int Move; // Stores where the player wants to move int Total_Moves = 0; //Assign values to the playing board Board[0] = '0'; Board[1] = '1'; Board[2] = '2'; Board[3] = '3'; Board[4] = '4'; Board[5] = '5'; Board[6] = '6'; Board[7] = '7'; Board[8] = '8'; // Get player names cout << "Player 1: Please enter your name." << endl; cin >> Player_1_Name; cout << "Player 2: Please enter your name." << endl; cin >> Player_2_Name; #include #include // in your main function srand( time( NULL ) ); while (whoWon ( ) == 0 && Total_Moves < 9) { // Do this until the player chooses a valid move do { // Show the board showBoard ( ); // Tell which player to move if (Whose_Turn == 1) { cout << Player_1_Name << ": It's your turn." << endl; } else { cout << Player_2_Name << ": It's your turn." << endl; Move = rand() % 9; } // Get the move cout << "Enter the number of the spot where you'd like to move." << endl; cin >> Move; } while (moveIsValid (Move) != true); // Add 1 to Total_Moves Total_Moves++; // Change whose turn it is switch (Whose_Turn) { case (1): { Board[Move] = 'x'; Whose_Turn = 2; break; } case (2): { Board[Move] = 'o'; Whose_Turn = 1; } } } // Show the board showBoard ( ); if (whoWon ( ) == 1) { cout << Player_1_Name << " has won the game!" << endl; } else if (whoWon ( ) == 2) { cout << Player_2_Name << " has won the game!" << endl; } else { cout << "It's a tie game!" << endl; } system ("PAUSE"); } void showBoard ( ) { cout << endl; cout << Board[0] << " | " << Board[1] << " | " << Board[2] << endl; cout << "--+---+--" << endl; cout << Board[3] << " | " << Board[4] << " | " << Board[5] << endl; cout << "--+---+--" << endl; cout << Board[6] << " | " << Board[7] << " | " << Board[8] << endl; cout << endl; } bool moveIsValid (int m) { if (Board[m] != 'x' && Board[m] != 'o') { return true; } else { return false; } } int whoWon ( ) { if (Board[0] == Board[1] && Board[1] == Board[2]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[3] == Board[4] && Board[4] == Board[5]) { if (Board[3] == 'x') { return 1; } else { return 2; } } if (Board[6] == Board[7] && Board[7] == Board[8]) { if (Board[6] == 'x') { return 1; } else { return 2; } } if (Board[0] == Board[3] && Board[3] == Board[6]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[1] == Board[4] && Board[4] == Board[7]) { if (Board[1] == 'x') { return 1; } else { return 2; } } if (Board[2] == Board[5] && Board[5] == Board[8]) { if (Board[2] == 'x') { return 1; } else { return 2; } } if (Board[0] == Board[4] && Board[4] == Board[8]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[2] == Board[4] && Board[4] == Board[6]) { if (Board[2] == 'x') { return 1; } else { return 2; } } return 0; }``````
 ``123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223`` ``````// Include the libraries #include #include #include #include //Use the standard namespace using namespace std; // Declare global variables char Board[9]; // Declare functions void showBoard ( ); bool moveIsValid (int m); int whoWon ( ); //Returns 0 if no one has won, 1 if player 1 has won, and 2 if player 2 has won void main ( ) { // Declare local variables string Player_1_Name; string Player_2_Name; int Whose_Turn = 1; // 1 means it's player 1's turn, 2 means it's player 2's turn int Move; // Stores where the player wants to move int Total_Moves = 0; //Assign values to the playing board Board[0] = '0'; Board[1] = '1'; Board[2] = '2'; Board[3] = '3'; Board[4] = '4'; Board[5] = '5'; Board[6] = '6'; Board[7] = '7'; Board[8] = '8'; // Get player names cout << "Player 1: Please enter your name." << endl; cin >> Player_1_Name; cout << "Player 2: Please enter your name." << endl; cin >> Player_2_Name; srand( time( NULL ) ); while (whoWon ( ) == 0 && Total_Moves < 9) { // Do this until the player chooses a valid move do { // Show the board showBoard ( ); // Tell which player to move if (Whose_Turn == 1) { cout << Player_1_Name << ": It's your turn." << endl; cin >> Move; } else { cout << Player_2_Name << ": It's your turn." << endl; Move = rand() % 9; } } while (moveIsValid (Move) != true); // Add 1 to Total_Moves Total_Moves++; // Change whose turn it is switch (Whose_Turn) { case (1): { Board[Move] = 'x'; Whose_Turn = 2; break; } case (2): { Board[Move] = 'o'; Whose_Turn = 1; } } } // Show the board showBoard ( ); if (whoWon ( ) == 1) { cout << Player_1_Name << " has won the game!" << endl; } else if (whoWon ( ) == 2) { cout << Player_2_Name << " has won the game!" << endl; } else { cout << "It's a tie game!" << endl; } system ("PAUSE"); } void showBoard ( ) { cout << endl; cout << Board[0] << " | " << Board[1] << " | " << Board[2] << endl; cout << "--+---+--" << endl; cout << Board[3] << " | " << Board[4] << " | " << Board[5] << endl; cout << "--+---+--" << endl; cout << Board[6] << " | " << Board[7] << " | " << Board[8] << endl; cout << endl; } bool moveIsValid (int m) { if (Board[m] != 'x' && Board[m] != 'o') { return true; } else { return false; } } int whoWon ( ) { if (Board[0] == Board[1] && Board[1] == Board[2]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[3] == Board[4] && Board[4] == Board[5]) { if (Board[3] == 'x') { return 1; } else { return 2; } } if (Board[6] == Board[7] && Board[7] == Board[8]) { if (Board[6] == 'x') { return 1; } else { return 2; } } if (Board[0] == Board[3] && Board[3] == Board[6]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[1] == Board[4] && Board[4] == Board[7]) { if (Board[1] == 'x') { return 1; } else { return 2; } } if (Board[2] == Board[5] && Board[5] == Board[8]) { if (Board[2] == 'x') { return 1; } else { return 2; } } if (Board[0] == Board[4] && Board[4] == Board[8]) { if (Board[0] == 'x') { return 1; } else { return 2; } } if (Board[2] == Board[4] && Board[4] == Board[6]) { if (Board[2] == 'x') { return 1; } else { return 2; } } return 0; }``````