00001 #ifndef __UFO_H
00002 #define __UFO_H
00003
00004
00005 #define UFO_IMG_FILE DATAFILE("images" DIR_SEP "ufo")
00006
00007 #include "application.h"
00008 #include "object.h"
00009 #include "nncmath.h"
00010
00011 class UFO : public GameObject {
00012 public:
00013 UFO(ObjectManager &);
00014 ~UFO();
00015
00016 void think();
00017
00018 enum direction { GOING_UP, GOING_DOWN, GOING_RIGHT, GOING_LEFT, MAX_DIR, NOT_MOVING };
00019 enum position { UPPER_LEFT, UPPER_RIGHT, LOWER_LEFT, LOWER_RIGHT, MAX_POS, INBETWEEN };
00020 void SetupPosition();
00021 void SetupDirection();
00022 private:
00023 direction movingDir;
00024 position currentPos;
00025
00026 double x, y, sinex, siney;
00027 double radius;
00028 radian rpos;
00029
00030 int notmoving_delay;
00031 int velocity_delay;
00032 int circ_delay;
00033 double velocity;
00034 nnctime lasttime, lastcirctime;
00035 int velocity_count;
00036 };
00037
00038
00039 #endif