You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.2 KiB
63 lines
2.2 KiB
4 years ago
|
#ifndef MONSTER_H
|
||
|
#define MONSTER_H
|
||
|
|
||
|
#include <stdlib.h>
|
||
4 years ago
|
#include <tqpixmap.h>
|
||
|
#include <tqwidget.h>
|
||
4 years ago
|
|
||
|
#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
|
||
|
|