[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-10 21:25:03
Message-ID: 1255209903.386168.22781.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1033718 by mkraus:
improve bonus_bad_slow and bonus_bad_hyperactive
M +46 -17 player.cpp
--- trunk/playground/games/granatier/src/player.cpp #1033717:1033718
@@ -358,28 +358,48 @@
}
break;
case Bonus::HYPERACTIVE:
- if(m_badBonusCountdownTimer->isActive())
{
- m_badBonusCountdownTimer->stop();
- slot_removeBadBonus();
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+
+ int askedXSpeedTemp = m_askedXSpeed;
+ int askedYSpeedTemp = m_askedYSpeed;
+ m_normalSpeed = m_speed;
+ m_speed = m_maxSpeed * 3;
+ m_askedXSpeed = sign(m_xSpeed) * m_speed;
+ m_askedYSpeed = sign(m_ySpeed) * m_speed;
+ updateDirection();
+ m_askedXSpeed = askedXSpeedTemp;
+ m_askedYSpeed = askedYSpeedTemp;
+
+ m_badBonusType = Bonus::HYPERACTIVE;
+ m_badBonusCountdownTimer->start();
}
-
- 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();
+ if(m_badBonusCountdownTimer->isActive())
+ {
+ m_badBonusCountdownTimer->stop();
+ slot_removeBadBonus();
+ }
+
+ int askedXSpeedTemp = m_askedXSpeed;
+ int askedYSpeedTemp = m_askedYSpeed;
+ m_normalSpeed = m_speed;
+ m_speed = 1;
+ m_askedXSpeed = sign(m_xSpeed) * m_speed;
+ m_askedYSpeed = sign(m_ySpeed) * m_speed;
+ updateDirection();
+ m_askedXSpeed = askedXSpeedTemp;
+ m_askedYSpeed = askedYSpeedTemp;
+
+ m_badBonusType = Bonus::SLOW;
+ m_badBonusCountdownTimer->start();
}
-
- m_normalSpeed = m_speed;
- m_speed = 1;
- m_badBonusType = Bonus::SLOW;
- m_badBonusCountdownTimer->start();
break;
case Bonus::MIRROR:
{
@@ -537,7 +557,16 @@
{
case Bonus::HYPERACTIVE:
case Bonus::SLOW:
- m_speed = m_normalSpeed;
+ {
+ int askedXSpeedTemp = m_askedXSpeed;
+ int askedYSpeedTemp = m_askedYSpeed;
+ m_speed = m_normalSpeed;
+ m_askedXSpeed = sign(m_xSpeed) * m_speed;
+ m_askedYSpeed = sign(m_ySpeed) * m_speed;
+ updateDirection();
+ m_askedXSpeed = askedXSpeedTemp;
+ m_askedYSpeed = askedYSpeedTemp;
+ }
break;
case Bonus::MIRROR:
{
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic