summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/player.h
Side-by-side diff
Diffstat (limited to 'noncore/games/sfcave-sdl/player.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/sfcave-sdl/player.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/noncore/games/sfcave-sdl/player.h b/noncore/games/sfcave-sdl/player.h
new file mode 100644
index 0000000..e4c904a
--- a/dev/null
+++ b/noncore/games/sfcave-sdl/player.h
@@ -0,0 +1,50 @@
+#ifndef __PLAYER_H
+#define __PLAYER_H
+
+#include "rect.h"
+
+class SDL_Surface;
+class AnimatedImage;
+
+class Player
+{
+public:
+ Player( int w, int h );
+ ~Player();
+
+ void init();
+ void draw( SDL_Surface *screen );
+ void drawTrails( SDL_Surface *screen );
+ void move( bool up );
+ void moveTrails();
+ Rect getPos() { return pos; }
+ int getX() { return pos.x(); }
+ int getY() { return pos.y(); }
+ int getHeight() { return pos.h(); }
+ bool updateCrashing();
+ void setMovementInfo( double up, double down, double maxUp, double maxDown );
+
+private:
+ AnimatedImage *explosion;
+
+ int sWidth;
+ int sHeight;
+
+ bool expNextFrame;
+ bool allFaded;
+ bool crashing;
+ bool crashed;
+ int crashLineLength;
+ Rect pos;
+ double thrust;
+
+ double thrustUp;
+ double thrustDown;
+ double maxUpSpeed;
+ double maxDownSpeed;
+
+ Rect trail[TRAILSIZE];
+
+};
+
+#endif