2023-06-11 20:03:30 -05:00
|
|
|
#include "olcPixelGameEngine.h"
|
|
|
|
|
|
|
|
|
|
enum MonsterStrategy{
|
|
|
|
|
RUN_TOWARDS,
|
|
|
|
|
SHOOT_AFAR
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct MonsterData{
|
|
|
|
|
private:
|
|
|
|
|
int hp;
|
|
|
|
|
int atk;
|
|
|
|
|
float moveSpd;//1.0=100%
|
|
|
|
|
float size;
|
|
|
|
|
MonsterStrategy strategy;
|
|
|
|
|
public:
|
2023-06-11 20:26:41 -05:00
|
|
|
MonsterData();
|
|
|
|
|
MonsterData(int hp,int atk,float moveSpd=1.0f,float size=1.0f,MonsterStrategy strategy=RUN_TOWARDS);
|
|
|
|
|
int GetHealth();
|
|
|
|
|
int GetAttack();
|
|
|
|
|
float GetMoveSpdMult();
|
|
|
|
|
float GetSizeMult();
|
|
|
|
|
MonsterStrategy GetAIStrategy();
|
2023-06-11 20:03:30 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum MonsterName{
|
|
|
|
|
SLIME_GREEN,
|
|
|
|
|
SLIME_BLUE,
|
|
|
|
|
SLIME_RED,
|
|
|
|
|
SLIME_YELLOW,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct Monster{
|
2023-06-11 20:26:41 -05:00
|
|
|
private:
|
|
|
|
|
vf2d pos;
|
|
|
|
|
int hp,maxhp;
|
|
|
|
|
int atk;
|
|
|
|
|
float moveSpd;
|
|
|
|
|
float size;
|
|
|
|
|
MonsterStrategy strategy;
|
|
|
|
|
public:
|
|
|
|
|
Monster();
|
|
|
|
|
Monster(vf2d pos,MonsterData data);
|
|
|
|
|
vf2d&GetPos();
|
|
|
|
|
int GetHealth();
|
|
|
|
|
int GetAttack();
|
|
|
|
|
float GetMoveSpdMult();
|
|
|
|
|
float GetSizeMult();
|
2023-06-11 20:03:30 -05:00
|
|
|
};
|