From 9b06862c0f3afe25bba183f5ded49d71c2de5973 Mon Sep 17 00:00:00 2001 From: "exercism-solutions-syncer[bot]" <211797793+exercism-solutions-syncer[bot]@users.noreply.github.com> Date: Fri, 17 Apr 2026 12:49:03 +0000 Subject: [PATCH] [Sync Iteration] java/wizards-and-warriors/1 --- .../1/src/main/java/Fighter.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 solutions/java/wizards-and-warriors/1/src/main/java/Fighter.java diff --git a/solutions/java/wizards-and-warriors/1/src/main/java/Fighter.java b/solutions/java/wizards-and-warriors/1/src/main/java/Fighter.java new file mode 100644 index 00000000..0e68136e --- /dev/null +++ b/solutions/java/wizards-and-warriors/1/src/main/java/Fighter.java @@ -0,0 +1,49 @@ +class Fighter { + + boolean isVulnerable() { + return true; + } + + int getDamagePoints(Fighter fighter) { + return 1; + } +} + +class Warrior extends Fighter { + + public String toString() { + return "Fighter is a Warrior"; + } + + @Override + public boolean isVulnerable() { + return false; + } + + @Override + public int getDamagePoints(Fighter fighter) { + return fighter.isVulnerable() ? 10 : 6; + } +} + +class Wizard extends Fighter { + private boolean prepare = false; + + public String toString() { + return "Fighter is a Wizard"; + } + + public void prepareSpell() { + prepare = true; + } + + @Override + public boolean isVulnerable() { + return !prepare; + } + + @Override + public int getDamagePoints(Fighter fighter) { + return prepare ? 12 : 3; + } +} \ No newline at end of file