diff --git a/Java-Knight/src/main/java/org/project/Main.java b/Java-Knight/src/main/java/org/project/Main.java index 8dc14e5..79b377e 100644 --- a/Java-Knight/src/main/java/org/project/Main.java +++ b/Java-Knight/src/main/java/org/project/Main.java @@ -8,7 +8,6 @@ import org.project.entity.players.Assassin; import org.project.entity.players.Knight; import org.project.entity.players.Player; import org.project.entity.players.Wizard; -import org.project.item.armors.KnightArmor; import org.project.item.weapons.Sword; import org.project.item.weapons.Weapon; import org.project.location.Location; @@ -26,9 +25,9 @@ public class Main { players.add(new Knight()); players.add(new Wizard()); ArrayList enemies = new ArrayList<>(); - enemies.add(new Goblin(80, 100, wp)); - enemies.add(new Skeleton(70, 100, wp)); - enemies.add(new Vampire(90, 90, wp)); + enemies.add(new Goblin()); + enemies.add(new Skeleton()); + enemies.add(new Vampire()); ArrayList locations = new ArrayList<>(); locations.add(new Location("Jungle", enemies)); locations.add(new Location("China", new ArrayList<>(enemies.subList(0, 2)))); @@ -117,20 +116,20 @@ public class Main { break; case 2: player.heavyAttack(enemy); - if (player.isSuccessful()) break; + if (player.isSuccessfulAction()) break; else {turn = 0; continue;} case 3: player.defend(); - if (player.isSuccessful()) break; + if (player.isSuccessfulAction()) break; else {turn = 0; continue;} case 4: player.heal(10); - if (player.isSuccessful()) break; + if (player.isSuccessfulAction()) break; else {turn = 0; continue;} case 5: player.specialAbility(enemy); - if (player.isSuccessful()) break; + if (player.isSuccessfulAction()) break; else {turn = 0; continue;} default: System.out.println("invalid choice"); @@ -157,15 +156,15 @@ public class Main { switch (choice) { case 0: enemy.attack(player); - if (enemy.isSuccessful()) break; + if (enemy.isSuccessfulAction()) break; else {turn = 1; continue;} case 1: enemy.defend(); - if (enemy.isSuccessful()) break; + if (enemy.isSuccessfulAction()) break; else {turn = 1; continue;} case 2: enemy.heal(10); - if (enemy.isSuccessful()) break; + if (enemy.isSuccessfulAction()) break; else {turn = 1; continue;} } } 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 8d4c00b..03de369 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,8 +1,7 @@ package org.project.entity.enemies; import org.project.entity.Entity; -import org.project.entity.players.Knight; -import org.project.entity.players.Player; +import org.project.item.weapons.Sword; import org.project.item.weapons.Weapon; @@ -17,7 +16,7 @@ public abstract class Enemy implements Entity { private double attackMultiplier = 1; private boolean hasKey = false; private static boolean keyFound = false; - private boolean successful = true; + private boolean successfulAction = true; public Enemy(int hp, int mp, Weapon weapon) { this.hp = hp; @@ -33,17 +32,18 @@ public abstract class Enemy implements Entity { if (getMP() >= weapon.getManaCost()) { System.out.println(this.getClass().getSimpleName() + ": attacking " + target.getClass().getSimpleName()); double damage = getAttackMultiplier() * weapon.getDamage(); + if(((Sword)(weapon)).charge()) damage *= 1.4; if (target.isDefending()) { target.takeDamage((int) (damage * (1 - target.getDefendRate())),this); target.setDefending(false); } else { - target.takeDamage((int) damage); + target.takeDamage((int) damage,this); } setMP(getMP() - weapon.getManaCost()); } else { System.out.println("not enough mana"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -167,12 +167,12 @@ public abstract class Enemy implements Entity { return false; } - public void setSuccessful (boolean successful) { - this.successful = successful; + public void setSuccessfulAction(boolean successfulAction) { + this.successfulAction = successfulAction; } - public boolean isSuccessful() { - return successful; + public boolean isSuccessfulAction() { + return successfulAction; } } diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.java b/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.java index 5e00e92..07b60fc 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.java @@ -1,11 +1,11 @@ package org.project.entity.enemies; import org.project.entity.Entity; -import org.project.item.weapons.Weapon; +import org.project.item.weapons.Sword; public class Goblin extends Enemy{ - public Goblin(int hp, int mp, Weapon weapon) { - super(hp,mp,weapon); + public Goblin() { + super(80,100,new Sword()); setDefendRate(.5); } @@ -24,7 +24,7 @@ public class Goblin extends Enemy{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -36,7 +36,7 @@ public class Goblin extends Enemy{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } } diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.java b/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.java index 9573b41..cbdccce 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.java @@ -2,13 +2,13 @@ package org.project.entity.enemies; import org.project.entity.Entity; -import org.project.item.weapons.Weapon; +import org.project.item.weapons.Sword; public class Skeleton extends Enemy{ private boolean incarnation = false; - public Skeleton(int hp, int mp, Weapon weapon) { - super(hp,mp,weapon); + public Skeleton() { + super(70,100,new Sword()); setDefendRate(.3); } @@ -26,7 +26,7 @@ public class Skeleton extends Enemy{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -38,7 +38,7 @@ public class Skeleton extends Enemy{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.java b/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.java index f490a7f..c4f8a5b 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.java @@ -1,12 +1,12 @@ package org.project.entity.enemies; import org.project.entity.Entity; -import org.project.item.weapons.Weapon; +import org.project.item.weapons.Sword; public class Vampire extends Enemy{ - public Vampire(int hp, int mp, Weapon weapon) { - super(hp,mp,weapon); + public Vampire() { + super(90,90,new Sword()); setDefendRate(.7); } @@ -18,9 +18,11 @@ public class Vampire extends Enemy{ setAttackMultiplier(1); if (target.isDefending()) { heal( (int) (.3 * (damage * (1 - target.getDefendRate())))); + setMP(getMP() + 12); } else { heal( (int) (.3 * damage)); + setMP(getMP() + 12); } } @@ -32,7 +34,7 @@ public class Vampire extends Enemy{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -44,7 +46,7 @@ public class Vampire extends Enemy{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } } diff --git a/Java-Knight/src/main/java/org/project/entity/players/Assassin.java b/Java-Knight/src/main/java/org/project/entity/players/Assassin.java index 91ce181..7766f6c 100644 --- a/Java-Knight/src/main/java/org/project/entity/players/Assassin.java +++ b/Java-Knight/src/main/java/org/project/entity/players/Assassin.java @@ -2,11 +2,8 @@ package org.project.entity.players; import org.project.entity.Entity; -import org.project.item.armors.Armor; import org.project.item.armors.AssassinArmor; import org.project.item.weapons.Dagger; -import org.project.item.weapons.Sword; -import org.project.item.weapons.Weapon; public class Assassin extends Player { @@ -44,7 +41,7 @@ public class Assassin extends Player { setMP(getMP() - weapon.getManaCost()); } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -57,7 +54,7 @@ public class Assassin extends Player { } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -70,7 +67,7 @@ public class Assassin extends Player { } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -82,7 +79,7 @@ public class Assassin extends Player { } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } diff --git a/Java-Knight/src/main/java/org/project/entity/players/Knight.java b/Java-Knight/src/main/java/org/project/entity/players/Knight.java index 9e3c11c..a529893 100644 --- a/Java-Knight/src/main/java/org/project/entity/players/Knight.java +++ b/Java-Knight/src/main/java/org/project/entity/players/Knight.java @@ -2,11 +2,8 @@ package org.project.entity.players; import org.project.entity.Entity; -import org.project.item.armors.Armor; import org.project.item.armors.KnightArmor; -import org.project.item.weapons.Dagger; import org.project.item.weapons.Sword; -import org.project.item.weapons.Weapon; public class Knight extends Player { @@ -38,7 +35,7 @@ public class Knight extends Player { } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -50,7 +47,7 @@ public class Knight extends Player { } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -77,7 +74,7 @@ public class Knight extends Player { } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } diff --git a/Java-Knight/src/main/java/org/project/entity/players/Player.java b/Java-Knight/src/main/java/org/project/entity/players/Player.java index 4f510db..b5110e5 100644 --- a/Java-Knight/src/main/java/org/project/entity/players/Player.java +++ b/Java-Knight/src/main/java/org/project/entity/players/Player.java @@ -22,7 +22,7 @@ public abstract class Player implements Entity, combatOptions { private boolean hasGoblinKey = false; private boolean hasSkeletonKey = false; private boolean hasVampireKey = false; - private boolean successful = true; + private boolean successfulAction = true; public Player(String name, int hp, int mp, Weapon weapon, Armor armor) { this.name = name; @@ -194,12 +194,12 @@ public abstract class Player implements Entity, combatOptions { else { hasVampireKey = true; } } - public void setSuccessful (boolean successful) { - this.successful = successful; + public void setSuccessfulAction(boolean successfulAction) { + this.successfulAction = successfulAction; } - public boolean isSuccessful() { - return successful; + public boolean isSuccessfulAction() { + return successfulAction; } } diff --git a/Java-Knight/src/main/java/org/project/entity/players/Wizard.java b/Java-Knight/src/main/java/org/project/entity/players/Wizard.java index b6fc42a..c980169 100644 --- a/Java-Knight/src/main/java/org/project/entity/players/Wizard.java +++ b/Java-Knight/src/main/java/org/project/entity/players/Wizard.java @@ -1,12 +1,8 @@ package org.project.entity.players; import org.project.entity.Entity; -import org.project.item.armors.Armor; -import org.project.item.armors.KnightArmor; import org.project.item.armors.WizardArmor; import org.project.item.weapons.Bow; -import org.project.item.weapons.Sword; -import org.project.item.weapons.Weapon; public class Wizard extends Player{ @@ -39,7 +35,7 @@ public class Wizard extends Player{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -51,7 +47,7 @@ public class Wizard extends Player{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -66,7 +62,7 @@ public class Wizard extends Player{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } @@ -78,7 +74,7 @@ public class Wizard extends Player{ } else { System.out.println("Not enough MP"); - setSuccessful(false); + setSuccessfulAction(false); } } diff --git a/Java-Knight/target/classes/org/project/Main.class b/Java-Knight/target/classes/org/project/Main.class index 1432a2f..64d692e 100644 Binary files a/Java-Knight/target/classes/org/project/Main.class and b/Java-Knight/target/classes/org/project/Main.class differ diff --git a/Java-Knight/target/classes/org/project/entity/Entity.class b/Java-Knight/target/classes/org/project/entity/Entity.class index 20a2569..c468ca1 100644 Binary files a/Java-Knight/target/classes/org/project/entity/Entity.class and b/Java-Knight/target/classes/org/project/entity/Entity.class differ diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class b/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class index 0f52871..6a55c5c 100644 Binary files a/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class and b/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class differ diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class b/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class index 59d013d..838dce5 100644 Binary files a/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class and b/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class differ diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Skeleton.class b/Java-Knight/target/classes/org/project/entity/enemies/Skeleton.class index 86f4fe5..f906bee 100644 Binary files a/Java-Knight/target/classes/org/project/entity/enemies/Skeleton.class and b/Java-Knight/target/classes/org/project/entity/enemies/Skeleton.class differ diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class b/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class index 0d98e39..b0a21a5 100644 Binary files a/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class and b/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/Assassin.class b/Java-Knight/target/classes/org/project/entity/players/Assassin.class index 0e8687d..d637b36 100644 Binary files a/Java-Knight/target/classes/org/project/entity/players/Assassin.class and b/Java-Knight/target/classes/org/project/entity/players/Assassin.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/Knight.class b/Java-Knight/target/classes/org/project/entity/players/Knight.class index e22d5fc..6654b51 100644 Binary files a/Java-Knight/target/classes/org/project/entity/players/Knight.class and b/Java-Knight/target/classes/org/project/entity/players/Knight.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/Player.class b/Java-Knight/target/classes/org/project/entity/players/Player.class index 0a6c610..eb2c678 100644 Binary files a/Java-Knight/target/classes/org/project/entity/players/Player.class and b/Java-Knight/target/classes/org/project/entity/players/Player.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/Wizard.class b/Java-Knight/target/classes/org/project/entity/players/Wizard.class index 8487e46..e28c603 100644 Binary files a/Java-Knight/target/classes/org/project/entity/players/Wizard.class and b/Java-Knight/target/classes/org/project/entity/players/Wizard.class differ diff --git a/Java-Knight/target/classes/org/project/item/Item.class b/Java-Knight/target/classes/org/project/item/Item.class index c1989ee..16faf08 100644 Binary files a/Java-Knight/target/classes/org/project/item/Item.class and b/Java-Knight/target/classes/org/project/item/Item.class differ diff --git a/Java-Knight/target/classes/org/project/item/armors/Armor.class b/Java-Knight/target/classes/org/project/item/armors/Armor.class index 55c4e58..fbc5395 100644 Binary files a/Java-Knight/target/classes/org/project/item/armors/Armor.class and b/Java-Knight/target/classes/org/project/item/armors/Armor.class differ diff --git a/Java-Knight/target/classes/org/project/item/armors/KnightArmor.class b/Java-Knight/target/classes/org/project/item/armors/KnightArmor.class index 183236b..c7f1d24 100644 Binary files a/Java-Knight/target/classes/org/project/item/armors/KnightArmor.class and b/Java-Knight/target/classes/org/project/item/armors/KnightArmor.class differ diff --git a/Java-Knight/target/classes/org/project/item/weapons/Sword.class b/Java-Knight/target/classes/org/project/item/weapons/Sword.class index b38a8c0..f22db40 100644 Binary files a/Java-Knight/target/classes/org/project/item/weapons/Sword.class and b/Java-Knight/target/classes/org/project/item/weapons/Sword.class differ diff --git a/Java-Knight/target/classes/org/project/item/weapons/Weapon.class b/Java-Knight/target/classes/org/project/item/weapons/Weapon.class index c780680..0fd0e27 100644 Binary files a/Java-Knight/target/classes/org/project/item/weapons/Weapon.class and b/Java-Knight/target/classes/org/project/item/weapons/Weapon.class differ