示例#1
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;
        }
    }
}
示例#2
0
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.";
            }

        }
    }
}