X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscene.cpp;h=0ee4d1c2950a764532440b0d078cee9c59c870d6;hb=57fbded58117c85dcade4cfe3dbf4bf17af3e63c;hp=fc290771e28f835b35cea35871d0dfcbc3a872d0;hpb=56e4ac91328b4b3540fd089bd143394714b8d2fe;p=supertux.git diff --git a/src/scene.cpp b/src/scene.cpp index fc290771e..0ee4d1c29 100644 --- a/src/scene.cpp +++ b/src/scene.cpp @@ -27,12 +27,46 @@ PlayerStatus::PlayerStatus() : score(0), distros(0), lives(START_LIVES), + bonus(NO_BONUS), score_multiplier(1) { } -// FIXME: Move this into a view class -float scroll_x; +void PlayerStatus::reset() +{ + score = 0; + distros = 0; + lives = START_LIVES; + bonus = NO_BONUS; + score_multiplier = 1; +} + +std::string bonus_to_string(PlayerStatus::BonusType b) +{ + switch (b) + { + case PlayerStatus::NO_BONUS: + return "none"; + case PlayerStatus::GROWUP_BONUS: + return "growup"; + case PlayerStatus::FLOWER_BONUS: + return "icflower"; + default: + return "none"; + } +} + +PlayerStatus::BonusType string_to_bonus(const std::string& str) +{ + if (str == "none") + return PlayerStatus::NO_BONUS; + else if (str == "growup") + return PlayerStatus::GROWUP_BONUS; + else if (str == "iceflower") + return PlayerStatus::FLOWER_BONUS; + else + return PlayerStatus::NO_BONUS; +} unsigned int global_frame_counter;