From 74d11ad284cf791b4b242c881c6c35560186c157 Mon Sep 17 00:00:00 2001 From: Fateme Azizi Date: Fri, 15 May 2026 04:00:27 +0330 Subject: [PATCH] delete armor and weapon --- .../org/project/entity/enemies/Enemy.java | 45 +++++++++++-------- .../src/main/java/org/project/item/Item.java | 11 ----- .../java/org/project/item/armors/Armor.java | 42 ----------------- .../org/project/item/armors/KnightArmor.java | 6 --- .../project/item/consumables/Consumable.java | 8 ---- .../org/project/item/consumables/Flask.java | 16 ------- .../project/item/weapons/AssassinWeapon.java | 4 -- .../project/item/weapons/KnightWeapon.java | 4 -- .../java/org/project/item/weapons/Sword.java | 26 ----------- .../java/org/project/item/weapons/Weapon.java | 35 --------------- .../project/item/weapons/WizardWeapon.java | 4 -- 11 files changed, 26 insertions(+), 175 deletions(-) delete mode 100644 Java-Knight/src/main/java/org/project/item/Item.java delete mode 100644 Java-Knight/src/main/java/org/project/item/armors/Armor.java delete mode 100644 Java-Knight/src/main/java/org/project/item/armors/KnightArmor.java delete mode 100644 Java-Knight/src/main/java/org/project/item/consumables/Consumable.java delete mode 100644 Java-Knight/src/main/java/org/project/item/consumables/Flask.java delete mode 100644 Java-Knight/src/main/java/org/project/item/weapons/AssassinWeapon.java delete mode 100644 Java-Knight/src/main/java/org/project/item/weapons/KnightWeapon.java delete mode 100644 Java-Knight/src/main/java/org/project/item/weapons/Sword.java delete mode 100644 Java-Knight/src/main/java/org/project/item/weapons/Weapon.java delete mode 100644 Java-Knight/src/main/java/org/project/item/weapons/WizardWeapon.java diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.java b/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.java index e019acb..aa31f17 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.java @@ -1,34 +1,41 @@ package org.project.entity.enemies; -import org.project.item.weapons.Weapon; +import org.project.entity.Entity; +import org.project.entity.players.Player; -// TODO: UPDATE IMPLEMENTATION -public abstract class Enemy { - Weapon weapon; - private int hp; - private int mp; - public Enemy(int hp, int mp, Weapon weapon) { - this.hp = hp; - this.mp = mp; +public abstract class Enemy extends Entity { - this.weapon = weapon; + protected final EnemyStats stats; + private boolean stunned; + + public Enemy(EnemyStats stats) { + super(stats.maxHP); + this.stats = stats; + stunned = false; } @Override public void takeDamage(int damage) { - hp -= damage; + super.takeDamage(damage); + System.out.println("Your attack dealt " + damage + " damage to the enemy!"); } - public int getHp() { - return hp; + public void attack(Player target) { + if(!stunned) { + System.out.println(getType() + " attacked you!"); + target.takeDamage(stats.damage); + } + + else { + System.out.println("The enemy was stunned and missed its turn!"); + stunned = false; + } } - public int getMp() { - return mp; - } + public abstract String getType(); - public Weapon getWeapon() { - return weapon; - } + public int getXpReward() {return stats.xpReward;} + public boolean isStunned() { return stunned; } + public void setStunned(boolean stunned) {this.stunned = stunned; } } diff --git a/Java-Knight/src/main/java/org/project/item/Item.java b/Java-Knight/src/main/java/org/project/item/Item.java deleted file mode 100644 index 6d6b5ad..0000000 --- a/Java-Knight/src/main/java/org/project/item/Item.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.project.item; - -import org.project.entity.Entity; - -public interface Item { - void use(Entity target); - - /* - TODO: ADD OTHER REQUIRED AND BONUS METHODS - */ -} diff --git a/Java-Knight/src/main/java/org/project/item/armors/Armor.java b/Java-Knight/src/main/java/org/project/item/armors/Armor.java deleted file mode 100644 index 7ca8774..0000000 --- a/Java-Knight/src/main/java/org/project/item/armors/Armor.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.project.item.armors; - -// TODO: UPDATE IMPLEMENTATION -public abstract class Armor { - private int defense; - private int maxDefense; - private int durability; - private int maxDurability; - - private boolean isBroke; - - public Armor(int defense, int durability) { - this.defense = defense; - this.durability = durability; - } - - public void checkBreak() { - if (durability <= 0) { - isBroke = true; - defense = 0; - } - } - - // TODO: (BONUS) UPDATE THE REPAIR METHOD - public void repair() { - isBroke = false; - defense = maxDefense; - durability = maxDurability; - } - - public int getDefense() { - return defense; - } - - public int getDurability() { - return durability; - } - - public boolean isBroke() { - return isBroke; - } -} diff --git a/Java-Knight/src/main/java/org/project/item/armors/KnightArmor.java b/Java-Knight/src/main/java/org/project/item/armors/KnightArmor.java deleted file mode 100644 index eb59a46..0000000 --- a/Java-Knight/src/main/java/org/project/item/armors/KnightArmor.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.project.item.armors; - -// TODO: UPDATE IMPLEMENTATION -public class KnightArmor { - // TODO: DESIGN ARMOR'S ATTRIBUTES IMPLEMENT THE CONSTRUCTOR -} \ No newline at end of file diff --git a/Java-Knight/src/main/java/org/project/item/consumables/Consumable.java b/Java-Knight/src/main/java/org/project/item/consumables/Consumable.java deleted file mode 100644 index 028e13d..0000000 --- a/Java-Knight/src/main/java/org/project/item/consumables/Consumable.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.project.item.consumables; - -// TODO: UPDATE IMPLEMENTATION -public abstract class Consumable { - /* - TODO: ADD OTHER REQUIRED AND BONUS METHODS - */ -} diff --git a/Java-Knight/src/main/java/org/project/item/consumables/Flask.java b/Java-Knight/src/main/java/org/project/item/consumables/Flask.java deleted file mode 100644 index c0e7a6d..0000000 --- a/Java-Knight/src/main/java/org/project/item/consumables/Flask.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.project.item.consumables; - -import org.project.entity.Entity; - -// TODO: UPDATE IMPLEMENTATION -public class Flask { - /* - THIS IS AN EXAMPLE OF A CONSUMABLE DESIGN. - */ - - // TODO: UPDATE USE METHOD - @Override - public void use(Entity target) { - target.heal(target.getMaxHP() / 10); - } -} diff --git a/Java-Knight/src/main/java/org/project/item/weapons/AssassinWeapon.java b/Java-Knight/src/main/java/org/project/item/weapons/AssassinWeapon.java deleted file mode 100644 index 798ef18..0000000 --- a/Java-Knight/src/main/java/org/project/item/weapons/AssassinWeapon.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.project.item.weapons; - -public class AssassinWeapon { -} diff --git a/Java-Knight/src/main/java/org/project/item/weapons/KnightWeapon.java b/Java-Knight/src/main/java/org/project/item/weapons/KnightWeapon.java deleted file mode 100644 index 20e9263..0000000 --- a/Java-Knight/src/main/java/org/project/item/weapons/KnightWeapon.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.project.item.weapons; - -public class KnightWeapon { -} diff --git a/Java-Knight/src/main/java/org/project/item/weapons/Sword.java b/Java-Knight/src/main/java/org/project/item/weapons/Sword.java deleted file mode 100644 index 96226ee..0000000 --- a/Java-Knight/src/main/java/org/project/item/weapons/Sword.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.project.item.weapons; - -import org.project.entity.Entity; - -import java.util.ArrayList; - -// TODO: UPDATE IMPLEMENTATION -public class Sword { - /* - THIS IS AN EXAMPLE OF A WEAPON DESIGN. - */ - - int abilityCharge; - - public Sword() { - // TODO: DESIGN SWORD'S ATTRIBUTES IMPLEMENT THE CONSTRUCTOR - } - - // TODO: (BONUS) UPDATE THE UNIQUE ABILITY - public void uniqueAbility(ArrayList targets) { - abilityCharge += 2; - for (Entity target : targets) { - target.takeDamage(getDamage()); - } - } -} diff --git a/Java-Knight/src/main/java/org/project/item/weapons/Weapon.java b/Java-Knight/src/main/java/org/project/item/weapons/Weapon.java deleted file mode 100644 index cb9fcf2..0000000 --- a/Java-Knight/src/main/java/org/project/item/weapons/Weapon.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.project.item.weapons; - -import org.project.entity.Entity; - -// TODO: UPDATE IMPLEMENTATION -public abstract class Weapon { - private int damage; - private int manaCost; - - /* - TODO: ADD OTHER REQUIRED AND BONUS ATTRIBUTES - */ - - public Weapon(int damage, int manaCost) { - this.damage = damage; - this.manaCost = manaCost; - } - - @Override - public void use(Entity target) { - target.takeDamage(damage); - } - - public int getDamage() { - return damage; - } - - public int getManaCost() { - return manaCost; - } - - /* - TODO: ADD OTHER REQUIRED AND BONUS METHODS - */ -} diff --git a/Java-Knight/src/main/java/org/project/item/weapons/WizardWeapon.java b/Java-Knight/src/main/java/org/project/item/weapons/WizardWeapon.java deleted file mode 100644 index f1bbdda..0000000 --- a/Java-Knight/src/main/java/org/project/item/weapons/WizardWeapon.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.project.item.weapons; - -public class WizardWeapon { -}