summaryrefslogtreecommitdiff
authorandyq <andyq>2002-12-20 17:53:12 (UTC)
committer andyq <andyq>2002-12-20 17:53:12 (UTC)
commit3019cddcdb9aca09f463024ac67620c144dbf211 (patch) (unidiff)
treea4f41d9db95d254ea8e46a21742b0272c764b3be
parentfdcb16419ebc646875a1c2cc4e9f623af502a31d (diff)
downloadopie-3019cddcdb9aca09f463024ac67620c144dbf211.zip
opie-3019cddcdb9aca09f463024ac67620c144dbf211.tar.gz
opie-3019cddcdb9aca09f463024ac67620c144dbf211.tar.bz2
Added difficultie levels to SFCave game type
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/sfcave/sfcave.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/noncore/games/sfcave/sfcave.cpp b/noncore/games/sfcave/sfcave.cpp
index 929dc41..5633a8f 100644
--- a/noncore/games/sfcave/sfcave.cpp
+++ b/noncore/games/sfcave/sfcave.cpp
@@ -5,25 +5,25 @@
5 5
6#ifdef QWS 6#ifdef QWS
7#include <qpe/qpeapplication.h> 7#include <qpe/qpeapplication.h>
8#include <qpe/config.h> 8#include <qpe/config.h>
9#else 9#else
10#include <qapplication.h> 10#include <qapplication.h>
11#endif 11#endif
12#include <qdir.h> 12#include <qdir.h>
13 13
14#include "helpwindow.h" 14#include "helpwindow.h"
15#include "sfcave.h" 15#include "sfcave.h"
16 16
17#define CAPTION "SFCave 1.11 by AndyQ" 17#define CAPTION "SFCave 1.12 by AndyQ"
18 18
19#define UP_THRUST 0.6 19#define UP_THRUST 0.6
20#define NO_THRUST 0.8 20#define NO_THRUST 0.8
21#define MAX_DOWN_THRUST 4.0 21#define MAX_DOWN_THRUST 4.0
22#define MAX_UP_THRUST -3.5 22#define MAX_UP_THRUST -3.5
23 23
24// States 24// States
25#define STATE_BOSS 0 25#define STATE_BOSS 0
26#define STATE_RUNNING 1 26#define STATE_RUNNING 1
27#define STATE_CRASHING 2 27#define STATE_CRASHING 2
28#define STATE_CRASHED 3 28#define STATE_CRASHED 3
29#define STATE_NEWGAME 4 29#define STATE_NEWGAME 4
@@ -218,56 +218,66 @@ int SFCave :: nextInt( int range )
218 return val; 218 return val;
219 219
220} 220}
221 221
222void SFCave :: setUp() 222void SFCave :: setUp()
223{ 223{
224 score = 0; 224 score = 0;
225 offset = 0; 225 offset = 0;
226 nrFrames = 0; 226 nrFrames = 0;
227 dir = 1; 227 dir = 1;
228 thrust = 0; 228 thrust = 0;
229 229
230 int dist[] = { 100, 60, 40 };
230 if ( CURRENT_GAME_TYPE == SFCAVE_GAME ) 231 if ( CURRENT_GAME_TYPE == SFCAVE_GAME )
231 { 232 {
232 thrustUp = UpThrustVals[SFCAVE_GAME_TYPE][currentGameDifficulty];; 233 thrustUp = UpThrustVals[SFCAVE_GAME_TYPE][currentGameDifficulty];;
233 noThrust = DownThrustVals[SFCAVE_GAME_TYPE][currentGameDifficulty];; 234 noThrust = DownThrustVals[SFCAVE_GAME_TYPE][currentGameDifficulty];;
234 maxUpThrust = MaxUpThrustVals[SFCAVE_GAME_TYPE][currentGameDifficulty];; 235 maxUpThrust = MaxUpThrustVals[SFCAVE_GAME_TYPE][currentGameDifficulty];;
235 maxDownThrust = MaxDownThrustVals[SFCAVE_GAME_TYPE][currentGameDifficulty];; 236 maxDownThrust = MaxDownThrustVals[SFCAVE_GAME_TYPE][currentGameDifficulty];;
237
238 if ( currentCameDifficulty == DIFICULTY_EASY )
239 gateDistance = 100;
240 else if ( currentCameDifficulty == DIFICULTY_EASY )
241 gateDistance = 60;
242 else
243 gateDistance = 40;
244
245 printf( "GD = %d\n", gateDistance );
236 } 246 }
237 else if ( CURRENT_GAME_TYPE == GATES_GAME ) 247 else if ( CURRENT_GAME_TYPE == GATES_GAME )
238 { 248 {
239 thrustUp = UpThrustVals[GATES_GAME_TYPE][currentGameDifficulty];; 249 thrustUp = UpThrustVals[GATES_GAME_TYPE][currentGameDifficulty];;
240 noThrust = DownThrustVals[GATES_GAME_TYPE][currentGameDifficulty];; 250 noThrust = DownThrustVals[GATES_GAME_TYPE][currentGameDifficulty];;
241 maxUpThrust = MaxUpThrustVals[GATES_GAME_TYPE][currentGameDifficulty];; 251 maxUpThrust = MaxUpThrustVals[GATES_GAME_TYPE][currentGameDifficulty];;
242 maxDownThrust = MaxDownThrustVals[GATES_GAME_TYPE][currentGameDifficulty];; 252 maxDownThrust = MaxDownThrustVals[GATES_GAME_TYPE][currentGameDifficulty];;
253 gateDistance = 75;
254 nextGate = nextInt( 50 ) + gateDistance;
243 } 255 }
244 else 256 else
245 { 257 {
246 thrustUp = UpThrustVals[FLY_GAME_TYPE][currentGameDifficulty]; 258 thrustUp = UpThrustVals[FLY_GAME_TYPE][currentGameDifficulty];
247 noThrust = DownThrustVals[FLY_GAME_TYPE][currentGameDifficulty]; 259 noThrust = DownThrustVals[FLY_GAME_TYPE][currentGameDifficulty];
248 maxUpThrust = MaxUpThrustVals[FLY_GAME_TYPE][currentGameDifficulty]; 260 maxUpThrust = MaxUpThrustVals[FLY_GAME_TYPE][currentGameDifficulty];
249 maxDownThrust = MaxDownThrustVals[FLY_GAME_TYPE][currentGameDifficulty]; 261 maxDownThrust = MaxDownThrustVals[FLY_GAME_TYPE][currentGameDifficulty];
250 } 262 }
251 263
252 crashLineLength = 0; 264 crashLineLength = 0;
253 lastGateBottomY = 0; 265 lastGateBottomY = 0;
254 266
255 user.setRect( 50, sWidth/2, 4, 4 ); 267 user.setRect( 50, sWidth/2, 4, 4 );
256 268
257 blockWidth = 20; 269 blockWidth = 20;
258 blockHeight = 70; 270 blockHeight = 70;
259 gapHeight = initialGateGaps[currentGameDifficulty]; 271 gapHeight = initialGateGaps[currentGameDifficulty];
260 gateDistance = 75;
261 nextGate = nextInt( 50 ) + gateDistance;
262 272
263 for ( int i = 0 ; i < TRAILSIZE ; ++i ) 273 for ( int i = 0 ; i < TRAILSIZE ; ++i )
264 { 274 {
265 trail[i].setX( -1 ); 275 trail[i].setX( -1 );
266 trail[i].setY( 0 ); 276 trail[i].setY( 0 );
267 } 277 }
268 278
269 if ( CURRENT_GAME_TYPE != FLY_GAME ) 279 if ( CURRENT_GAME_TYPE != FLY_GAME )
270 { 280 {
271 maxHeight = 50; 281 maxHeight = 50;
272 282
273 mapTop[0] = (int)(nextInt(50)) + 5; 283 mapTop[0] = (int)(nextInt(50)) + 5;
@@ -359,25 +369,25 @@ void SFCave :: handleGameSFCave()
359 if ( nrFrames % 500 == 0 ) 369 if ( nrFrames % 500 == 0 )
360 { 370 {
361 if ( maxHeight < sHeight - 100 ) 371 if ( maxHeight < sHeight - 100 )
362 { 372 {
363 maxHeight += 10; 373 maxHeight += 10;
364 374
365 // Reduce block height 375 // Reduce block height
366 if ( maxHeight > sHeight - 150 ) 376 if ( maxHeight > sHeight - 150 )
367 blockHeight -= 5; 377 blockHeight -= 5;
368 } 378 }
369 } 379 }
370 380
371 if ( nrFrames % 100 == 0 ) 381 if ( nrFrames % gateDistance == 0 )
372 addBlock(); 382 addBlock();
373 383
374 if ( checkCollision() ) 384 if ( checkCollision() )
375 { 385 {
376 if ( score > highestScore[currentGameType][currentGameDifficulty] ) 386 if ( score > highestScore[currentGameType][currentGameDifficulty] )
377 { 387 {
378 highestScore[currentGameType][currentGameDifficulty] = score; 388 highestScore[currentGameType][currentGameDifficulty] = score;
379 saveScore(); 389 saveScore();
380 } 390 }
381 state = STATE_CRASHING; 391 state = STATE_CRASHING;
382 } 392 }
383 else 393 else