[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