diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-01 10:18:22 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-01 10:18:22 +0100 |
commit | 798948dbe6f012e194f053c4e862cf697f30b793 (patch) | |
tree | 32c71420d1188f98cfb41b6f0d9536c5fa4bf5a7 /backend/Player.h | |
parent | d7012045bb61f117fb7b9c51ddd03e4c54f25fe6 (diff) |
more WIP (move some Player things to backend)
Diffstat (limited to 'backend/Player.h')
-rw-r--r-- | backend/Player.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/backend/Player.h b/backend/Player.h new file mode 100644 index 0000000..b101de2 --- /dev/null +++ b/backend/Player.h @@ -0,0 +1,40 @@ +#pragma once + +#include "WeaponObject.h" +#include "ArmorObject.h" +#include "PtrList.h" + +class Dungeon; +class Location; + +class Player { +public: + String name; + unsigned int health_points = 20; + float attack_chance = 0.4; + unsigned int gold = 0; + WeaponObject * weapon = nullptr; + ArmorObject * armor = nullptr; + bool cheating = false; + PtrList<Object> inventory; + +private: + Location * location = nullptr; + +public: + Player(Dungeon & dungeon); + virtual ~Player() = default; + +public: + void take_damage(unsigned int dmg); + float get_attack() const; + unsigned get_health() const; + Location & get_location() const; + void set_location(Location &); + void equip(WeaponObject *); + void equip(ArmorObject *); + +private: + Dungeon & dungeon; +}; + |