summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/player.h
authorandyq <andyq>2003-01-20 23:11:56 (UTC)
committer andyq <andyq>2003-01-20 23:11:56 (UTC)
commit92419b025aa5d82bb7592281af5505ff931c2e58 (patch) (side-by-side diff)
tree374ee9ca86ef716ce388c8a28e38261f6a04ce7a /noncore/games/sfcave-sdl/player.h
parent02090d2e63ad8398c0a8a9f1fb895a9c6e42514b (diff)
downloadopie-92419b025aa5d82bb7592281af5505ff931c2e58.zip
opie-92419b025aa5d82bb7592281af5505ff931c2e58.tar.gz
opie-92419b025aa5d82bb7592281af5505ff931c2e58.tar.bz2
Initial Revision
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