35 lines
635 B
C++
35 lines
635 B
C++
#pragma once
|
|
|
|
#include "Entity.h"
|
|
#include "ICompareable.h"
|
|
#include "Weapon.h"
|
|
|
|
//enum Monsters
|
|
//{
|
|
// Ork,
|
|
// Troll,
|
|
// Elve
|
|
//};
|
|
|
|
class Monster : public Entity, public ICompareable
|
|
{
|
|
public:
|
|
// internal pointers often requires a default & copy constructor and a destructor
|
|
Monster();
|
|
Monster(const Monster& other);
|
|
Monster(int strength);
|
|
virtual ~Monster();
|
|
|
|
//static Monster Create(Monsters type);
|
|
|
|
virtual void Move() = 0; // abstract (pure virtual method)
|
|
std::string ToString() override;
|
|
int Compare(ICompareable* other) override;
|
|
|
|
protected:
|
|
Weapon* _pWeapon = nullptr;
|
|
|
|
int _strength = 0;
|
|
float _speed = 0.0f;
|
|
};
|