summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/gates_game.h
Side-by-side diff
Diffstat (limited to 'noncore/games/sfcave-sdl/gates_game.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/sfcave-sdl/gates_game.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/noncore/games/sfcave-sdl/gates_game.h b/noncore/games/sfcave-sdl/gates_game.h
new file mode 100644
index 0000000..8499ff9
--- a/dev/null
+++ b/noncore/games/sfcave-sdl/gates_game.h
@@ -0,0 +1,45 @@
+#ifndef __GATES_GAME_H
+#define __GATES_GAME_H
+
+#include "SDL.h"
+
+#include "rect.h"
+
+#include "sfcave.h"
+#include "terrain.h"
+#include "player.h"
+#include "game.h"
+
+class GatesGame : public Game
+{
+public:
+ GatesGame( SFCave *p, int w, int h, int diff );
+ ~GatesGame();
+
+ void init();
+ void update( int state );
+ void draw( SDL_Surface *screen );
+
+private:
+
+ int gapHeight;
+
+ int gateDistance;
+ int nextGate;
+ int lastGateBottomY;
+
+ int blockDistance;
+ int blockHeight;
+ int blockWidth;
+ int blockUpdateRate;
+
+ Rect blocks[BLOCKSIZE];
+
+ void addGate();
+ void moveBlocks( int amountToMove );
+ void drawBlocks( SDL_Surface *screen );
+ bool checkCollisions();
+
+};
+
+#endif