[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/games/granatier/src
From: Mathias Kraus <k.hias () gmx ! de>
Date: 2009-10-08 21:27:07
Message-ID: 1255037227.822723.9575.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1032920 by mkraus:
improve bonus handling
M +86 -82 player.cpp
--- trunk/playground/games/granatier/src/player.cpp #1032919:1032920
@@ -304,90 +304,94 @@
void Player::addBonus(Bonus* p_bonus)
{
int bonusType = p_bonus->getBonusType();
- if(bonusType == Bonus::SPEED)
+ switch (bonusType)
{
- if(m_badBonusCountdownTimer->isActive())
- {
- m_badBonusCountdownTimer->stop();
- slot_removeBadBonus();
- }
-
- m_speed += 1;
- if(m_speed > m_maxSpeed)
- {
- m_speed = m_maxSpeed;
- }
+ case Bonus::SPEED:
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+
+ m_speed += 1;
+ if(m_speed > m_maxSpeed)
+ {
+ m_speed = m_maxSpeed;
+ }
+ break;
+ case Bonus::RANGE:
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+
+ m_bombRange++;
+ if(m_bombRange > 10)
+ {
+ m_bombRange = 10;
+ }
+ break;
+ case Bonus::BOMB:
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+
+ m_maxBombArmory++;
+ if(m_maxBombArmory > 10)
+ {
+ m_maxBombArmory = 10;
+ }
+ m_bombArmory++;
+ if(m_bombArmory > m_maxBombArmory)
+ {
+ m_bombArmory = m_maxBombArmory;
+ }
+ break;
+ case Bonus::HYPERACTIVE:
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+
+ m_normalSpeed = m_speed;
+ m_speed = m_maxSpeed * 3;
+ m_badBonusType = Bonus::HYPERACTIVE;
+ m_badBonusCountdownTimer->start();
+ break;
+ case Bonus::SLOW:
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+
+ m_normalSpeed = m_speed;
+ m_speed = 1;
+ m_badBonusType = Bonus::SLOW;
+ m_badBonusCountdownTimer->start();
+ break;
+ case Bonus::DRUG:
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+
+ m_badBonusType = Bonus::DRUG;
+ m_badBonusCountdownTimer->start();
+ break;
+ default:
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+ break;
}
- else if(bonusType == Bonus::RANGE)
- {
- if(m_badBonusCountdownTimer->isActive())
- {
- m_badBonusCountdownTimer->stop();
- slot_removeBadBonus();
- }
-
- m_bombRange++;
- if(m_bombRange > 10)
- {
- m_bombRange = 10;
- }
- }
- else if(bonusType == Bonus::BOMB)
- {
- if(m_badBonusCountdownTimer->isActive())
- {
- m_badBonusCountdownTimer->stop();
- slot_removeBadBonus();
- }
-
- m_maxBombArmory++;
- if(m_maxBombArmory > 10)
- {
- m_maxBombArmory = 10;
- }
- m_bombArmory++;
- if(m_bombArmory > m_maxBombArmory)
- {
- m_bombArmory = m_maxBombArmory;
- }
- }
- else if(bonusType == Bonus::HYPERACTIVE)
- {
- if(m_badBonusCountdownTimer->isActive())
- {
- m_badBonusCountdownTimer->stop();
- slot_removeBadBonus();
- }
-
- m_normalSpeed = m_speed;
- m_speed = m_maxSpeed * 2;
- m_badBonusType = Bonus::HYPERACTIVE;
- m_badBonusCountdownTimer->start();
- }
- else if(bonusType == Bonus::SLOW)
- {
- if(m_badBonusCountdownTimer->isActive())
- {
- m_badBonusCountdownTimer->stop();
- slot_removeBadBonus();
- }
-
- m_normalSpeed = m_speed;
- m_speed = 1;
- m_badBonusType = Bonus::SLOW;
- m_badBonusCountdownTimer->start();
- }
- else if(bonusType == Bonus::DRUG)
- {
- if(m_badBonusCountdownTimer->isActive())
- {
- m_badBonusCountdownTimer->stop();
- slot_removeBadBonus();
- }
-
- m_badBonusType = Bonus::DRUG;
- m_badBonusCountdownTimer->start();
- }
}
void Player::die()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic