From 541a475bad763ab35a59440e8fc853fe0ea3f342 Mon Sep 17 00:00:00 2001 From: Arefe Date: Thu, 7 May 2026 09:20:20 +0330 Subject: [PATCH] complete armors package --- .../java/org/project/item/armors/Armor.java | 33 ++++++++++++++++--- .../org/project/item/armors/KnightArmor.java | 16 +++++++-- .../org/project/item/armors/LeatherArmor.java | 15 ++++++++- .../java/org/project/item/armors/Robe.java | 13 +++++++- 4 files changed, 68 insertions(+), 9 deletions(-) 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 index 7ca8774..77f7a51 100644 --- a/Java-Knight/src/main/java/org/project/item/armors/Armor.java +++ b/Java-Knight/src/main/java/org/project/item/armors/Armor.java @@ -1,17 +1,26 @@ package org.project.item.armors; -// TODO: UPDATE IMPLEMENTATION -public abstract class Armor { +import org.project.entity.Entity; +import org.project.item.Item; + +public abstract class Armor implements Item { private int defense; private int maxDefense; private int durability; private int maxDurability; private boolean isBroke; + private int id; + private String name; - public Armor(int defense, int durability) { + public Armor(int id, String name, int defense, int durability) { + this.id = id; + this.name = name; this.defense = defense; this.durability = durability; + this.maxDefense = maxDefense; + this.maxDurability = maxDurability; + this.isBroke = false; } public void checkBreak() { @@ -21,11 +30,11 @@ public abstract class Armor { } } - // TODO: (BONUS) UPDATE THE REPAIR METHOD public void repair() { isBroke = false; defense = maxDefense; durability = maxDurability; + System.out.println("🔨 " + name + " has been repaired!"); } public int getDefense() { @@ -39,4 +48,20 @@ public abstract class Armor { public boolean isBroke() { return isBroke; } + + @Override + public String getName() { + return name; + } + + @Override + public int getId() { + return id; + } + + @Override + public void use(Entity target) + { + System.out.println("🛡️ " + name + " is equipped!"); + } } 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 index eb59a46..b710fd1 100644 --- a/Java-Knight/src/main/java/org/project/item/armors/KnightArmor.java +++ b/Java-Knight/src/main/java/org/project/item/armors/KnightArmor.java @@ -1,6 +1,16 @@ package org.project.item.armors; -// TODO: UPDATE IMPLEMENTATION -public class KnightArmor { - // TODO: DESIGN ARMOR'S ATTRIBUTES IMPLEMENT THE CONSTRUCTOR +import org.project.entity.Entity; + +public class KnightArmor extends Armor{ + + public KnightArmor() + { + super(1, "Plate Armor", 15, 100); + } + + @Override + public void use(Entity target) { + System.out.println("🛡️ You equipped the heavy Plate Armor! (High Defense)"); + } } \ No newline at end of file diff --git a/Java-Knight/src/main/java/org/project/item/armors/LeatherArmor.java b/Java-Knight/src/main/java/org/project/item/armors/LeatherArmor.java index 89a25c8..e29f443 100644 --- a/Java-Knight/src/main/java/org/project/item/armors/LeatherArmor.java +++ b/Java-Knight/src/main/java/org/project/item/armors/LeatherArmor.java @@ -1,4 +1,17 @@ package org.project.item.armors; -public class LeatherArmor { +import org.project.entity.Entity; + +public class LeatherArmor extends Armor{ + + public LeatherArmor() + { + super(3, "Light Leather", 8, 70); + } + + @Override + public void use(Entity target) + { + System.out.println("🗡️ You equipped the Light Leather. (Balanced Stats)"); + } } diff --git a/Java-Knight/src/main/java/org/project/item/armors/Robe.java b/Java-Knight/src/main/java/org/project/item/armors/Robe.java index edd96fd..a4c4eed 100644 --- a/Java-Knight/src/main/java/org/project/item/armors/Robe.java +++ b/Java-Knight/src/main/java/org/project/item/armors/Robe.java @@ -1,4 +1,15 @@ package org.project.item.armors; -public class Robe { +import org.project.entity.Entity; + +public class Robe extends Armor{ + public Robe() + { + super(2, "magic robe", 5, 50); + } + + @Override + public void use(Entity target) { + System.out.println("🧙‍♂️ You equipped the Magic Robe. (Low Defense, High Magic Focus)"); + } }