X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscene.cpp;h=429abd07d934c9fa12e8e43ba3549faa56b74ad5;hb=cf585f019ce5aacf92e252a2f2c60c47255bea52;hp=ccdce0bb439df56b4fd827fa90aae4b7477faf65;hpb=8d72041c32613175e6b7eecd34007dbb402f0b91;p=supertux.git diff --git a/src/scene.cpp b/src/scene.cpp index ccdce0bb4..429abd07d 100644 --- a/src/scene.cpp +++ b/src/scene.cpp @@ -17,28 +17,51 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -#include +#include + +#include + #include "scene.h" #include "defines.h" +#include "resources.h" PlayerStatus player_status; PlayerStatus::PlayerStatus() - : score(0), - distros(0), + : distros(0), lives(START_LIVES), bonus(NO_BONUS), - score_multiplier(1) + score_multiplier(1), + max_score_multiplier(1) { } void PlayerStatus::reset() { - score = 0; distros = 0; lives = START_LIVES; bonus = NO_BONUS; score_multiplier = 1; + max_score_multiplier = 1; +} + +void +PlayerStatus::incLives() +{ + if(lives < MAX_LIVES) + ++lives; + SoundManager::get()->play_sound(IDToSound(SND_LIFEUP)); +} + +void +PlayerStatus::incCoins() +{ + distros++; + if(distros >= 100) { + incLives(); + distros = 0; + } + SoundManager::get()->play_sound(IDToSound(SND_DISTRO)); } std::string bonus_to_string(PlayerStatus::BonusType b) @@ -50,7 +73,7 @@ std::string bonus_to_string(PlayerStatus::BonusType b) case PlayerStatus::GROWUP_BONUS: return "growup"; case PlayerStatus::FLOWER_BONUS: - return "icflower"; + return "iceflower"; default: return "none"; } @@ -68,9 +91,6 @@ PlayerStatus::BonusType string_to_bonus(const std::string& str) return PlayerStatus::NO_BONUS; } -// FIXME: Move this into a view class -float scroll_x, scroll_y; - unsigned int global_frame_counter; // EOF //