From e14965a64924d1bbeba58d35cb7e834651f42976 Mon Sep 17 00:00:00 2001 From: Fateme Azizi Date: Sun, 10 May 2026 16:15:54 +0330 Subject: [PATCH] implement Entity class --- .../main/java/org/project/entity/Entity.java | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) 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