summaryrefslogtreecommitdiffstats
path: root/tdepacman/monster.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdepacman/monster.h')
-rw-r--r--tdepacman/monster.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/tdepacman/monster.h b/tdepacman/monster.h
new file mode 100644
index 0000000..385c513
--- /dev/null
+++ b/tdepacman/monster.h
@@ -0,0 +1,62 @@
+#ifndef MONSTER_H
+#define MONSTER_H
+
+#include <stdlib.h>
+#include <tqpixmap.h>
+#include <tqwidget.h>
+
+#include "board.h"
+
+enum monsterState { dangerous, harmless, rem, arrested };
+
+class Monster {
+public:
+ Monster(Board *b, int mid = 0);
+ void setMaxPixmaps(int maxBody, int maxEyes);
+ void setArrested(int ticks, int duration);
+ void setDangerous(int ticks, int IQ);
+ void setHarmless(int ticks, int hDuration, int wDuration);
+ void setREM(int ticks);
+ void setPosition(int pos);
+ void setPrison(int pos);
+ void setFreedom(int pos);
+ void setDirection(int dir);
+ monsterState state();
+ int position();
+ int direction();
+ int id();
+ bool move();
+ int body();
+ int eyes();
+private:
+ Board *board;
+ int ID; // ID of monster (0 = 1st, 1 = 2nd ... 7 = last)
+ int IQ; // Intelligence of movement (0 = dumb..180 = smart)
+
+ monsterState actualState; // The state of the monster
+
+ int pauseDuration; // Number of ticks before movement
+ int pause; // actual ticks before moevment (0 = move)
+ int dangerousPause; // pause in dangerous-state
+
+ int harmlessDuration; // Length of harmless-time in ticks
+ int harmlessLeft; // rest of the time in harmless-state
+ int warningDuration; // warningtime before monster get dangerous again
+
+ int arrestDuration; // Length of arrest in ticks
+ int arrestLeft; // time left of arrest
+ int arrestPause; // pause in arrest-state
+
+ int actualDirection; // actual direction of monster
+ int lastDirection; // last direction, before no movement (X)
+ int actualPosition; // actual position on board
+ int lastPosition; // the last position of the monster
+ int feetPosition; // left, right, left, right, ...
+ int maxBodyPixmaps;
+ int maxEyesPixmaps;
+ int prisonPosition; // where to go, if arrested
+ int freedomPosition; // where to go, if released from prison
+};
+
+#endif // MONSTER_H
+