[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/games/superpong
From: Gábor Lehel <illissius () gmail ! com>
Date: 2008-04-18 15:10:02
Message-ID: 1208531402.775197.14388.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 798548 by illissius:
experiment: give paddles greater acceleration vertically than horizontally, to try \
and address the issue where the ball always ends up going faster than the paddles can \
catch it
M +22 -21 pongscene.cpp
--- trunk/playground/games/superpong/pongscene.cpp #798547:798548
@@ -41,7 +41,8 @@
static const qreal hzone = fieldw / 5;
static const qreal speed = fieldw / 5;
-static const qreal accel = fieldw * 2;
+static const qreal vaccel = fieldw * 4;
+static const qreal haccel = fieldw * 2;
static const qreal resist = 0.1;
static const int fps = 60;
@@ -87,7 +88,7 @@
virtual bool collidesWith( BallItem *b ) const;
virtual void collideWith( BallItem *b );
QRectF territory;
- int haccel, vaccel;
+ int hinput, vinput;
private:
qreal m_hmoving, m_vmoving;
@@ -125,7 +126,7 @@
};
PaddleItem::PaddleItem( const QPointF &pos )
- : super( QRectF( pos, QSizeF( paddlew, paddleh ) ) ), haccel( 0 ), vaccel( 0 ), \
m_hmoving( 0 ), m_vmoving( 0 ) + : super( QRectF( pos, QSizeF( paddlew, paddleh ) \
) ), hinput( 0 ), vinput( 0 ), m_hmoving( 0 ), m_vmoving( 0 ) {
setBrush( QBrush( Qt::green ) );
}
@@ -330,15 +331,15 @@
switch( e->key() )
{
- case Qt::Key_Up: d->right->vaccel += 1; break;
- case Qt::Key_Down: d->right->vaccel += -1; break;
- case Qt::Key_Right: d->right->haccel += 1; break;
- case Qt::Key_Left: d->right->haccel += -1; break;
+ case Qt::Key_Up: d->right->vinput += 1; break;
+ case Qt::Key_Down: d->right->vinput += -1; break;
+ case Qt::Key_Right: d->right->hinput += 1; break;
+ case Qt::Key_Left: d->right->hinput += -1; break;
- case Qt::Key_W: d->left->vaccel += 1; break;
- case Qt::Key_S: d->left->vaccel += -1; break;
- case Qt::Key_D: d->left->haccel += 1; break;
- case Qt::Key_A: d->left->haccel += -1; break;
+ case Qt::Key_W: d->left->vinput += 1; break;
+ case Qt::Key_S: d->left->vinput += -1; break;
+ case Qt::Key_D: d->left->hinput += 1; break;
+ case Qt::Key_A: d->left->hinput += -1; break;
case Qt::Key_P: pause( !d->paused ); break;
@@ -358,15 +359,15 @@
switch( e->key() )
{
- case Qt::Key_Up: d->right->vaccel -= 1; break;
- case Qt::Key_Down: d->right->vaccel -= -1; break;
- case Qt::Key_Right: d->right->haccel -= 1; break;
- case Qt::Key_Left: d->right->haccel -= -1; break;
+ case Qt::Key_Up: d->right->vinput -= 1; break;
+ case Qt::Key_Down: d->right->vinput -= -1; break;
+ case Qt::Key_Right: d->right->hinput -= 1; break;
+ case Qt::Key_Left: d->right->hinput -= -1; break;
- case Qt::Key_W: d->left->vaccel -= 1; break;
- case Qt::Key_S: d->left->vaccel -= -1; break;
- case Qt::Key_D: d->left->haccel -= 1; break;
- case Qt::Key_A: d->left->haccel -= -1; break;
+ case Qt::Key_W: d->left->vinput -= 1; break;
+ case Qt::Key_S: d->left->vinput -= -1; break;
+ case Qt::Key_D: d->left->hinput -= 1; break;
+ case Qt::Key_A: d->left->hinput -= -1; break;
default: e->ignore(); return;
}
@@ -415,13 +416,13 @@
{
QRectF r = rect(), t = territory;
- m_vmoving += -delta * accel * vaccel - resist * m_vmoving;
+ m_vmoving += -delta * vaccel * vinput - resist * m_vmoving;
r.moveTop( r.top() + delta * m_vmoving );
if( r.bottom() >= t.bottom() || r.top() <= t.top() ) m_vmoving = 0;
if( r.bottom() > t.bottom() ) r.moveBottom( t.bottom() );
if( r.top() < t.top() ) r.moveTop( t.top() );
- m_hmoving += delta * accel * haccel - resist * m_hmoving;
+ m_hmoving += delta * haccel * hinput - resist * m_hmoving;
r.moveLeft( r.left() + delta * m_hmoving );
if( r.left() <= t.left() || r.right() >= t.right() ) m_hmoving = 0;
if( r.left() < t.left() ) r.moveLeft( t.left() );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic