Beispiel #1
0
Points::Points() {
  setLocation(TOP_RIGHT);
  setViewString(POINTS_STRING);
  setColor(COLOR_YELLOW);
  // need to update score each second, so count "step" events
  registerInterest(STEP_EVENT);
}
Beispiel #2
0
TargetString::TargetString(string complete_string) {

	setType("TargetString");
	setLocation(TOP_RIGHT);
	setViewString(complete_string);

}
Beispiel #3
0
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);

	}
}
Beispiel #4
0
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(), ' '));
}
Beispiel #5
0
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);
}