Points::Points() { setLocation(TOP_RIGHT); setViewString(POINTS_STRING); setColor(COLOR_YELLOW); // need to update score each second, so count "step" events registerInterest(STEP_EVENT); }
TargetString::TargetString(string complete_string) { setType("TargetString"); setLocation(TOP_RIGHT); setViewString(complete_string); }
void CapturedString::addLetter(char letter) { string temp_str = getViewString(); // Handle wildcard if(letter == '*') { int firstEmptyPos = 0; for(int i = 0; i < temp_str.length(); ++i) { if(temp_str[i] == ' ') { firstEmptyPos = i; break; } } // Add letter temp_str[firstEmptyPos] = complete_string[firstEmptyPos]; } else { // Normal character size_t posInCompleteString = complete_string.find_first_of(letter, 0); if(posInCompleteString == string::npos) return; // character isn't in string, ignore do { if(temp_str[posInCompleteString] == letter) continue; // already got this one // else temp_str[posInCompleteString] = letter; break; // done } while((posInCompleteString = complete_string.find_first_of(letter, posInCompleteString + 1)) != string::npos); // loop until there are no more instances of this character in the string } setViewString(temp_str); if(temp_str == complete_string) { // completed string LogManager &logmanager = LogManager::getInstance(); logmanager.writeLog("Completed string!\n"); //Level over, make hero spectral WorldManager &worldmanager = WorldManager::getInstance(); ObjectList objects_copy = worldmanager.getAllObjects(); ObjectListIterator i(&objects_copy); for (i.first(); !i.isDone(); i.next()) { if (i.currentObject()->getType().compare("Hero") == 0) { i.currentObject()->setSolidness(SPECTRAL); } } LevelHandler &levelhandler = LevelHandler::getInstance(); new LevelChange(levelhandler.getLevel() + 1); } }
CapturedString::CapturedString(string new_complete_string) { setType("CapturedString"); registerInterest(CAPTURED_LETTER_EVENT); setLocation(TOP_CENTER); complete_string.resize(new_complete_string.length()); transform(new_complete_string.begin(), new_complete_string.end(), complete_string.begin(), toupper); setViewString(string(complete_string.length(), ' ')); }
void BattleEvent::start() { setViewString("A monster has appeared!"); Battle *nb = new Battle(); MonsterManager &mm = MonsterManager::getInstance(); //Monster *mon = mm.getMonster("centaur"); //mm.randomMonster(); Monster* mon = mm.randomMonster(); rewardval = mon->getReward(); nb->addMonster(mon); SceneManager::getInstance().push(nb); }