[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