/*
 * 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;
    }

}
示例#2
0
/**
 * @brief printComputerWords prints the words that computer found and the score that it got
 * @param boggle
 */
void printComputerWords(Boggle& boggle){

    boggle.computerFind();

    set<string> words = boggle.getComputerWords();
    clearConsole();
    cout << "It's my turn!" << endl;
    cout << "My words (" << words.size() << "): " << "{";

    for(set<string>::iterator it = words.begin(); it != words.end(); it++){
        cout << "\""<< *it << "\",";
    }

    cout << "}";
    cout << "\nMy score: "  << boggle.getComputerScore() << endl;
    //If the computer has won the game, taunt the player
    if(boggle.getComputerScore() > boggle.getPlayerScore()){
        cout << "Ha ha ha, I destroyed you. Better luck next time, puny human!" << endl;
    }
}