Exemple #1
0
/*
 * Function: computerTurn
 * --------------------
 * This is the computer's turn. Find all of the remaining words using the boggles onj.
 * Print this to the console and to the GUI.
 *
 * Preconditions:
 *
 *  @param: word: the word to check
 *  @return: boolean true if valid word
 */
void computerTurn(Boggle& boggles) {
    Set<string> humanWords;
    string userInputW;


    Set<string> computerSearch;
    computerSearch = boggles.computerWordSearch();
    cout << endl;
    cout << "It's my turn!" << endl;

    // Print out computer's words
    cout << "My words (" << computerSearch.size()<<") "<< computerSearch.toString() << endl;
    for(string i:computerSearch)
        BoggleGUI::recordWord(i,BoggleGUI::COMPUTER);

    cout << "My score: " << boggles.getScoreComputer()<<endl;
    BoggleGUI::setScore(boggles.getScoreComputer(),BoggleGUI::COMPUTER);

    if(boggles.getScoreComputer()>boggles.getScoreHuman()){
        string statusMessage = "Ha ha ha, I destroyed you. Better luck next time, puny human!";
        BoggleGUI::setStatusMessage(statusMessage);
        cout << statusMessage << endl;
    } else {
        string statusMessage = "WOW, you defeated me! Congratulations!" ;
        BoggleGUI::setStatusMessage(statusMessage);
        cout << statusMessage << endl;
    }
}
Exemple #2
0
/*
 * Function: userTurn
 * --------------------
 * This is the user's turn. Prompt them for random/set board, get their word selections
 * use the boggles obj to check words
 *
 * Preconditions:
 *
 *  @param: word: the word to check
 *  @return: boolean true if valid word
 */
void userTurn(Boggle& boggles) {
    Set<string> humanWords;
    string userInputW;
    //int humanScore = 0;

    while(true) {
        clearConsole();
        // First time through this is skipped, goes to else
        if(userInputW!=""){
            if(boggles.checkWord(userInputW)){
                if(boggles.humanWordSearch(toLowerCase(userInputW))){
                    string statusMessage = "You found a new word! \""+toUpperCase(userInputW)+"\"";
                    BoggleGUI::setStatusMessage(statusMessage);
                    cout << statusMessage<<endl;
                    BoggleGUI::recordWord(userInputW,BoggleGUI::HUMAN);
                } else{
                    string statusMessage = "That word cant be formed on this board!";
                    BoggleGUI::setStatusMessage(statusMessage);
                    cout << statusMessage<<endl;
                }
            } else {
                cout << "You must enter an unfound 4+ letter word from the dictionary." << endl;
            }
        }else {
            string sM =  "It's your turn!";
            BoggleGUI::setStatusMessage(sM);
            cout << sM << endl;
        }
        cout << boggles;

        cout << "Your words (" << boggles.getUserValidStrings().size() << "): " << boggles.getUserValidStrings().toString() << endl;
        cout << "Your score: " << boggles.getScoreHuman() << endl;
        BoggleGUI::setScore(boggles.getScoreHuman(),BoggleGUI::HUMAN);

        userInputW = getLine("Type a word (or enter to stop): ");

        // Enter to stop
        if(userInputW==""){
            break;
        }
    }
}
void humanTurn(string message, Boggle& boggleobj) {
    while (true) {
        printStatus(message, "Your", boggleobj.getScoreHuman(), boggleobj.getFoundWords(), boggleobj);
        string word = getLine("Type a word (or Enter to stop):");
        word = toLowerCase(word);
        if (word == "") {
            break;
        } else {
            clearConsole();
            if (boggleobj.checkWord(word) && boggleobj.humanWordSearch(word)) {
                message = "You have found a new word! \"" + word + "\"";
                BoggleGUI::recordWord(word, BoggleGUI::HUMAN);
                BoggleGUI::setScore(boggleobj.getScoreHuman(),BoggleGUI::HUMAN);
            } else {
                message = "You must enter an unfound 4+ letter word from the dictionary.";
            }

        }
    }
}
string compTurn(Boggle& boggleobj, string message) {
    Set<string> compWords = boggleobj.computerWordSearch();
    message = "It's my turn!";
    for (auto i : compWords) {
        BoggleGUI::recordWord(i, BoggleGUI::COMPUTER);
    }
    BoggleGUI::setScore(boggleobj.getScoreComputer(),BoggleGUI::COMPUTER);
    printStatus(message, "My", boggleobj.getScoreComputer(), compWords, boggleobj);
    if (boggleobj.getScoreHuman() >= boggleobj.getScoreComputer()) {
        message = "WOW, you defeated me! Congratulations!";
    } else {
        message = "Ha ha ha, I destroyed you. Better luck next time, puny human!";
    }
    return message;
}