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