diff --git a/Java-Knight/src/main/java/org/project/entity/Entity.java b/Java-Knight/src/main/java/org/project/entity/Entity.java index 2a060f9..44db1f8 100644 --- a/Java-Knight/src/main/java/org/project/entity/Entity.java +++ b/Java-Knight/src/main/java/org/project/entity/Entity.java @@ -1,19 +1,41 @@ package org.project.entity; -public interface Entity { - void attack(Entity target); +import org.project.item.weapons.Weapon; - void defend(); +public abstract class Entity { - void heal(int health); + private Weapon weapon; + private int hp; + private int maxHP; - void fillMana(int mana); - void takeDamage(int damage); + public Entity(Weapon weapon, int hp, int maxHP) { + this.weapon = weapon; + this.hp = hp; + this.maxHP = maxHP; + } - int getMaxHP(); + public boolean isAlive() { + if(hp>0) + return true; - int getMaxMP(); + return false; + } + + public abstract void attack(Entity target); + + public void heal(int health) { + hp += health; + if (hp > maxHP) { + hp = maxHP; + } + } + + public void takeDamage(int damage) {hp -= weapon.getDamage();} + + public int getMaxHP() {return maxHP;} + public int getHP() {return hp;} + public Weapon getWeapon() {return weapon;} /* TODO: ADD OTHER REQUIRED AND BONUS METHODS