Ejemplo n.º 1
0
LevelSelect::LevelSelect()
: mySelectedX(0)
, mySelectedY(0)
, myFrameCounter(0)
, myLevelSelected(false)
, myPlayingBossLevel(false)
, myBossLevelUnlocked(false)
, myRunFirstDialogue(false)
, myRunBossUnlockedDialogue(false)
{
	myFont = Resource::getFont("data/images/font.bmp");
	myBackground = Resource::getAnimation("data/images/level_select.bmp", 1);
	mySelectedLevelBackground = Resource::getAnimation("data/images/selected_level_background.bmp", 6);
	myUnselectedLevelBackground = Resource::getAnimation("data/images/unselected_level_background.bmp", 1);
	myIcons = Resource::getAnimation("data/images/icons.bmp", 9);
	myCompletedIconBackground = Resource::getAnimation("data/images/completed_level.bmp", 1);

	for (int i = 0; i < 200; i++)
	{
		myParticles.push_back(Particle(frand() * 320, frand()* 240, frand()* 3 + 1));
	}

	PrivSetLevelDesc(0, 0, LevelDesc("GRAPPLIN' HEAVEN", "data/rooms/olof2.tmx", 0, "data/music/olof9.xm"));
	PrivSetLevelDesc(1, 0, LevelDesc("CAVERNOUS", "data/rooms/per4.tmx", 1, "data/music/olof8.xm"));
	PrivSetLevelDesc(2, 0, LevelDesc("HARRY U.P.", "data/rooms/level1.tmx", 7, "data/music/olof2-rmx.xm"));
	PrivSetLevelDesc(0, 1, LevelDesc("GLIDER", "data/rooms/per1.tmx", 3, "data/music/olof12.xm"));
	PrivSetLevelDesc(1, 1, LevelDesc("FINAL CORE", "data/rooms/olof.tmx", 5, "data/music/spooky.xm"));
	PrivSetLevelDesc(2, 1, LevelDesc("UNSTABLE", "data/rooms/breaktilelevel.tmx", 4, "data/music/olof8.xm"));
	PrivSetLevelDesc(0, 2, LevelDesc("THE TOWER", "data/rooms/per2.tmx", 2, "data/music/olof12.xm"));
	PrivSetLevelDesc(1, 2, LevelDesc("WALL OF DEATH", "data/rooms/per3.tmx", 6, "data/music/olof2-rmx.xm"));
	PrivSetLevelDesc(2, 2, LevelDesc("LAVA LAND", "data/rooms/levellava.tmx", 8, "data/music/olof2-rmx.xm"));

	myFirstDialogue = new Dialogue("data/dialogues/level_select.txt");
	myFirstDialogue->setRunWithoutHero();

	myBossUnlockedDialogue = new Dialogue("data/dialogues/boss_unlocked.txt");
	myBossUnlockedDialogue->setRunWithoutHero();
}
Ejemplo n.º 2
0
void Title::onLogic()
{
	myFrameCounter++;

	if (myGameStart)
	{
		if (myFrameCounter > 100)
		{
			ScreenManager::add(new LevelSelect());
			if (mySelected == 0)
			{
				ScreenManager::add(new Level(LevelDesc("tutorial", "data/rooms/tutorial.tmx", 0, "data/music/olof9.xm")));
			}
		}
		return;
	}

	if (Input::isPressed(Button_Down))
	{
		mySelected++;
		if (mySelected > 1 && !myContinue)
			mySelected = 1;
		else if (mySelected > 2)
			mySelected = 2;
		else
			Sound::playSample("data/sounds/select.wav");
	}

	if (Input::isPressed(Button_Up))
	{
		mySelected--;
		if (mySelected < 0)
			mySelected = 0;
		else
			Sound::playSample("data/sounds/select.wav");
	}

	if (Input::isPressed(Button_Fire))
	{
		if (mySelected == 0)
		{
			myGameStart = true;
			myFrameCounter = 0;
			Music::stop();
			Sound::playSample("data/sounds/start.wav");
			GameState::clear();
		}
		if (mySelected == 1 && myContinue)
		{
			myGameStart = true;
			myFrameCounter = 0;
			Music::stop();
			Sound::playSample("data/sounds/start.wav");
			GameState::loadFromFile();
		}

		if (mySelected == 1 && !myContinue)
			exit();
		if (mySelected == 2 && myContinue)
			exit();
	}
}