/* * Plays one game of Boggle using the given boggle game state object. */ void playOneGame(Boggle& boggle) { boggle.resetBoard(); cout << "Would you like to randomize the board? (y/n)" << endl; string userChoice; getline(cin,userChoice); if(toLowerCase(trim(userChoice)) == "y"){ boggle.randomizeBoard(); }else{ string boardSeq; do { cout << "Please enter a valid sequence of letters to fill the board with" << endl; getline(cin,boardSeq); } while (!boggle.checkValidBoardSeq(boardSeq)); boggle.setBoard(boardSeq); } string guessedWord; do { clearConsole(); cout << "It's your turn!" << endl; boggle.printBoard(); boggle.printGuessedWords(); cout << "Your score: " + to_string(boggle.getPlayerScore()) << endl; cout << "Type a word (or press Enter to end your turn): "; getline(cin,guessedWord); if (boggle.checkGuessedWord(guessedWord)) { cout << "You found a new word! \"" + toUpperCase(guessedWord) + "\"" << endl; } } while (!guessedWord.empty()); cout << "It's my turn!" << endl; boggle.printComputerWords(); cout << "My score: " + to_string(boggle.getComputerScore()) << endl; if (boggle.getComputerScore() > boggle.getPlayerScore()) { cout << "Ha ha ha, I destroyed you. Better luck next time, puny human!" << endl; } else { cout << "Screw you... Puny human!" << endl; } }
//mainfunctions of the game void playOneGame(Boggle& boggle) { string input=""; //runs until a board is generated while (1) { cout<<endl; cout<<"Do you want to generate a random board?: "; cin>>input; //the user wants to enter an own board if (input=="n") { //runs until the user has entered a correct board, while(1) { cout<<"Type the 16 letters to appear on the board:"; cin>>input; vector<string> temp; temp=checkInput(input); if (temp.size()==16) { for (int i=0; i<16; i++) { boggle.addLetter(temp[i]); } break; } else { cout<<"That is not a valid 16-letter board String. Try again."<<endl; } } boggle.calculateWords(); break; } //if the user wants to autogenerate a board this i used if(input=="y") { boggle.setupBoardAuto(); break; } } bool usersTurn=true; clearConsole(); //runs until the user enters "n" while (usersTurn) { cout<<"it's your turn!"<<endl; printBoard(boggle); presentUserWords(boggle); presentUserScore(boggle); input=""; cout<<"enter a word or enter n to end your turn:"; cin>>input; //end while loop if (input=="n") { usersTurn=false; } else { //checks if the word is correct if (boggle.addUserWord(input)) { //if it is then the score is added to the userscore boggle.addUserScore(input.size()-3); //says that you have found a new word presentNewWord(input); } else { //if it not a correct word then the error is printed out for the user cout<<boggle.getUserError()<<endl; } } } //prints out with how much the computer has won cout<<"It is my turn! now you are going down"<<endl; presentComputersWords(boggle); boggle.resetBoard(); }