diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/cpp/Bullet.cpp | 2 | ||||
-rw-r--r-- | src/main/cpp/Map.cpp | 5 | ||||
-rw-r--r-- | src/main/cpp/MeleeWeapon.cpp | 2 | ||||
-rw-r--r-- | src/main/cpp/RangedWeapon.cpp | 9 | ||||
-rw-r--r-- | src/main/cpp/Stick.cpp | 3 | ||||
-rw-r--r-- | src/main/headers/Actor.hpp | 2 | ||||
-rw-r--r-- | src/main/headers/Bullet.hpp | 3 | ||||
-rw-r--r-- | src/main/headers/Item.hpp | 2 | ||||
-rw-r--r-- | src/main/headers/Stick.hpp | 2 |
9 files changed, 21 insertions, 9 deletions
diff --git a/src/main/cpp/Bullet.cpp b/src/main/cpp/Bullet.cpp index c856213..412b5ef 100644 --- a/src/main/cpp/Bullet.cpp +++ b/src/main/cpp/Bullet.cpp @@ -1,6 +1,6 @@ #include "Bullet.hpp" -bool Bullet::decreaseAmount(int qnt) +bool Bullet::decreaseAmount(unsigned qnt) { if (_amount >= qnt) { _amount = _amount - qnt; diff --git a/src/main/cpp/Map.cpp b/src/main/cpp/Map.cpp index 3cb1b9d..d192b3b 100644 --- a/src/main/cpp/Map.cpp +++ b/src/main/cpp/Map.cpp @@ -24,6 +24,11 @@ const std::vector<Tile>& Map::tiles() const bool Map::moveActor(Tile &from, Tile &to) { + if (to.actor() != nullptr) + return false; + to.actor(from.actor()); from.clearActor(); + + return true; } diff --git a/src/main/cpp/MeleeWeapon.cpp b/src/main/cpp/MeleeWeapon.cpp index 8c7ffce..5dd0c0d 100644 --- a/src/main/cpp/MeleeWeapon.cpp +++ b/src/main/cpp/MeleeWeapon.cpp @@ -5,7 +5,7 @@ #include <string> MeleeWeapon::MeleeWeapon(Type t, const std::string &name, bool throwable) -: Weapon(Item::Type::MELEEWEAPON, name), type(t), _throwable(throwable) + : Weapon(Item::Type::MELEEWEAPON, name), type(t), _throwable(throwable) { } diff --git a/src/main/cpp/RangedWeapon.cpp b/src/main/cpp/RangedWeapon.cpp index 21feae4..6f24666 100644 --- a/src/main/cpp/RangedWeapon.cpp +++ b/src/main/cpp/RangedWeapon.cpp @@ -14,20 +14,25 @@ bool RangedWeapon::use(Actor &user, Actor &actor) actor.damage(user.attack() + _damage - actor.defence()); _charged = false; } + + return true; } bool RangedWeapon::reload(Actor &actor) { //TODO add bullet type std::list<Item*> inventory = actor.inventory(); - for (Item* item : inventory) { + for (Item *item : inventory) { if (item->type == Item::Type::BULLET) { //TODO get the bullet - //Bullet* bullet = dynamic_cast <Bullet*> (item); + // Bullet *bullet = dynamic_cast <Bullet*> (item); break; } } + // TODO remove + return true; + /* if (bullet->decreaseAmount(1)) { _charged = true; diff --git a/src/main/cpp/Stick.cpp b/src/main/cpp/Stick.cpp index bc67ccb..0dd7190 100644 --- a/src/main/cpp/Stick.cpp +++ b/src/main/cpp/Stick.cpp @@ -7,5 +7,6 @@ Stick::Stick(const std::string &name, int maxUses) : Item(Item::Type::STICK, nam bool Stick::use(Actor &user, Actor &actor) { - + // TODO remove placeholder + return true; } diff --git a/src/main/headers/Actor.hpp b/src/main/headers/Actor.hpp index 90535b1..1e160f6 100644 --- a/src/main/headers/Actor.hpp +++ b/src/main/headers/Actor.hpp @@ -9,8 +9,8 @@ class Actor { public: - const unsigned maxHp; const std::string name; + const unsigned maxHp; Actor() = delete; virtual ~Actor(); diff --git a/src/main/headers/Bullet.hpp b/src/main/headers/Bullet.hpp index 6ab5dbe..b12c614 100644 --- a/src/main/headers/Bullet.hpp +++ b/src/main/headers/Bullet.hpp @@ -2,12 +2,13 @@ #define BULLET_HPP #include "Item.hpp" +#include "RangedWeapon.hpp" class Bullet : protected Item { public: virtual bool use(RangedWeapon &weapon); - virtual bool decreaseAmount(int qnt); + virtual bool decreaseAmount(unsigned qnt); }; #endif diff --git a/src/main/headers/Item.hpp b/src/main/headers/Item.hpp index 56f8733..ce0c921 100644 --- a/src/main/headers/Item.hpp +++ b/src/main/headers/Item.hpp @@ -31,7 +31,7 @@ protected: const std::string _name; - Item(Type t, const std::string &name) : _name(name), type(t) {} + Item(Type t, const std::string &name) : type(t), _name(name) {} }; #endif diff --git a/src/main/headers/Stick.hpp b/src/main/headers/Stick.hpp index 724e36d..6421560 100644 --- a/src/main/headers/Stick.hpp +++ b/src/main/headers/Stick.hpp @@ -6,7 +6,7 @@ class Stick : public Item { public: - Stick(const std::string &name); + Stick(const std::string &name, int maxUses); bool use(Actor &user, Actor &actor); protected: |