From 38fdd06a0393a3adfd04ce7937b17acc44d36ff5 Mon Sep 17 00:00:00 2001 From: mahdiLenovaF Date: Thu, 14 May 2026 01:00:06 +0330 Subject: [PATCH] complete classes + part of main --- .../src/main/java/org/project/Main.java | 444 +++++++++++++++++- .../main/java/org/project/entity/Entity.java | 10 +- .../org/project/entity/enemies/Dragon.java | 5 + .../org/project/entity/enemies/Enemy.java | 38 +- .../org/project/entity/enemies/Goblin.java | 12 +- .../org/project/entity/enemies/Skeleton.java | 14 +- .../org/project/entity/enemies/Vampire.java | 10 +- .../org/project/entity/players/Assassin.java | 7 +- .../org/project/entity/players/Knight.java | 5 +- .../org/project/entity/players/Player.java | 39 +- .../org/project/entity/players/Wizard.java | 4 +- .../java/org/project/item/armors/Armor.java | 1 - .../org/project/item/consumables/Flask.java | 2 +- .../org/project/item/consumables/Teriak.java | 5 +- .../java/org/project/item/weapons/Sword.java | 2 +- .../java/org/project/location/Location.java | 25 +- .../target/classes/org/project/Main.class | Bin 0 -> 8056 bytes .../classes/org/project/entity/Entity.class | Bin 0 -> 658 bytes .../org/project/entity/enemies/Dragon.class | Bin 0 -> 1302 bytes .../org/project/entity/enemies/Enemy.class | Bin 0 -> 3577 bytes .../org/project/entity/enemies/Goblin.class | Bin 0 -> 1172 bytes .../org/project/entity/enemies/Skeleton.class | Bin 0 -> 1617 bytes .../org/project/entity/enemies/Vampire.class | Bin 0 -> 1783 bytes .../org/project/entity/players/Assassin.class | Bin 0 -> 1744 bytes .../org/project/entity/players/Knight.class | Bin 0 -> 1709 bytes .../org/project/entity/players/Player.class | Bin 0 -> 4506 bytes .../org/project/entity/players/Wizard.class | Bin 0 -> 1711 bytes .../classes/org/project/item/Item.class | Bin 0 -> 153 bytes .../org/project/item/armors/Armor.class | Bin 0 -> 1364 bytes .../org/project/item/armors/EnemyArmor.class | Bin 0 -> 331 bytes .../org/project/item/armors/KnightArmor.class | Bin 0 -> 334 bytes .../project/item/armors/leatherArmor.class | Bin 0 -> 337 bytes .../org/project/item/armors/woodenArmor.class | Bin 0 -> 334 bytes .../project/item/consumables/Consumable.class | Bin 0 -> 389 bytes .../org/project/item/consumables/Flask.class | Bin 0 -> 568 bytes .../org/project/item/consumables/Teriak.class | Bin 0 -> 571 bytes .../project/item/weapons/DragonWepon.class | Bin 0 -> 712 bytes .../org/project/item/weapons/Sword.class | Bin 0 -> 321 bytes .../org/project/item/weapons/Weapon.class | Bin 0 -> 806 bytes .../org/project/item/weapons/knife.class | Bin 0 -> 321 bytes .../org/project/item/weapons/wood.class | Bin 0 -> 318 bytes .../org/project/location/Location.class | Bin 0 -> 686 bytes 42 files changed, 557 insertions(+), 66 deletions(-) create mode 100644 Java-Knight/target/classes/org/project/Main.class create mode 100644 Java-Knight/target/classes/org/project/entity/Entity.class create mode 100644 Java-Knight/target/classes/org/project/entity/enemies/Dragon.class create mode 100644 Java-Knight/target/classes/org/project/entity/enemies/Enemy.class create mode 100644 Java-Knight/target/classes/org/project/entity/enemies/Goblin.class create mode 100644 Java-Knight/target/classes/org/project/entity/enemies/Skeleton.class create mode 100644 Java-Knight/target/classes/org/project/entity/enemies/Vampire.class create mode 100644 Java-Knight/target/classes/org/project/entity/players/Assassin.class create mode 100644 Java-Knight/target/classes/org/project/entity/players/Knight.class create mode 100644 Java-Knight/target/classes/org/project/entity/players/Player.class create mode 100644 Java-Knight/target/classes/org/project/entity/players/Wizard.class create mode 100644 Java-Knight/target/classes/org/project/item/Item.class create mode 100644 Java-Knight/target/classes/org/project/item/armors/Armor.class create mode 100644 Java-Knight/target/classes/org/project/item/armors/EnemyArmor.class create mode 100644 Java-Knight/target/classes/org/project/item/armors/KnightArmor.class create mode 100644 Java-Knight/target/classes/org/project/item/armors/leatherArmor.class create mode 100644 Java-Knight/target/classes/org/project/item/armors/woodenArmor.class create mode 100644 Java-Knight/target/classes/org/project/item/consumables/Consumable.class create mode 100644 Java-Knight/target/classes/org/project/item/consumables/Flask.class create mode 100644 Java-Knight/target/classes/org/project/item/consumables/Teriak.class create mode 100644 Java-Knight/target/classes/org/project/item/weapons/DragonWepon.class create mode 100644 Java-Knight/target/classes/org/project/item/weapons/Sword.class create mode 100644 Java-Knight/target/classes/org/project/item/weapons/Weapon.class create mode 100644 Java-Knight/target/classes/org/project/item/weapons/knife.class create mode 100644 Java-Knight/target/classes/org/project/item/weapons/wood.class create mode 100644 Java-Knight/target/classes/org/project/location/Location.class diff --git a/Java-Knight/src/main/java/org/project/Main.java b/Java-Knight/src/main/java/org/project/Main.java index dbc7546..b55ddbd 100644 --- a/Java-Knight/src/main/java/org/project/Main.java +++ b/Java-Knight/src/main/java/org/project/Main.java @@ -1,34 +1,227 @@ package org.project; +import org.project.entity.Entity; +import org.project.entity.enemies.*; +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.consumables.Flask; +import org.project.item.consumables.Teriak; import org.project.location.Location; - +import java.util.Scanner; import java.util.ArrayList; import java.util.List; public class Main { + + public static final String RESET = "\u001B[0m"; + public static final String RED = "\u001B[31m"; + public static final String GREEN = "\u001B[32m"; + public static final String YELLOW = "\u001B[33m"; + public static final String BLUE = "\u001B[34m"; + + + public static Entity player; + public static Entity enemy; + public static Scanner input = new Scanner(System.in); + public static ArrayList keys = new ArrayList(); + + public static void main(String[] args) { - ArrayList names = new ArrayList<>(); - names.add("Nou Camp"); - names.add("Bernabeu"); - names.add("Azadi"); - System.out.println("----------Welcome to Java-Knight"); + startMenu(); + while (true){ + do{ + System.out.println("==============================="); + Location fightLoc = fightMenu(); + enemy = fightLoc.getEnemie(); + System.out.println(enemy.toString() + "| HP:" + enemy.getHp()); + System.out.println("Do you want fight?"); + System.out.println("1.Yes"); + System.out.println("2.No(Go to another location)"); + int n = input.nextInt(); + if(n==1){ + gameplay(); + if(!player.isalive()){ + System.out.println("==============================="); + System.out.println( YELLOW + "Goodby!"); + return; + } + else { + System.out.println(BLUE); + player.repair(); + System.out.println(RESET); + } + } + else if(n >= 3){ + System.out.println("Invalid input"); + } + + + }while (true); + + + + } + // TODO: IMPLEMENT GAMEPLAY + } + + + public static void setKeys(){ + boolean goblinkey=false; + boolean skeletonkey = false; + boolean vampirekey = false; + keys.add(goblinkey); + keys.add(skeletonkey); + keys.add(vampirekey); + } + + + public static void startMenu(){ + System.out.println("----------Welcome to Java-Knight----------"); + setKeys(); + System.out.print("Please enter your name:"); + String name = input.next(); + System.out.println("Choose tor player:"); + System.out.println("1. āš”\uFE0F Knight (High Damage)"); + System.out.println("2. \uD83E\uDDD9\u200D♂\uFE0F Wizard (High HP)"); + System.out.println("3. \uD83D\uDDE1\uFE0Fļø Assassin (High Mana)"); + + boolean validInput = false; + while (!validInput){ + System.out.print("chose:"); + int choose =input.nextInt(); + switch (choose){ + case 1: + { + player = new Knight(name); + validInput= true; + break; + } + case 2: + { + player = new Wizard(name); + validInput = true; + break; + } + case 3: + { + player = new Assassin(name); + validInput = true; + break; + } + default: + { + System.out.println("Invalid input"); + validInput = false; + } + } + + + } + } + + public static Location fightMenu(){ + boolean dragonOpen = true; + for (Boolean b : keys){ + if(b == false){ + dragonOpen = false; + break; + } + } + + + System.out.println("Where do you want to go?"); + System.out.println("1.Desert"); + System.out.println("2.Sea"); + System.out.println("3.Jungle"); + + for(boolean b : keys){ + if(b){ + System.out.print("āœ”\uFE0F"); + + } + else{ + System.out.print("šŸ”’"); + } + } + + + if(dragonOpen) { + System.out.println("4.Dranon"); + } + else { + System.out.println("Dragon"); + } + int n = (int) ((Math.random()) *3); + Entity enemy = null; + if(n == 0){ + enemy = new Goblin(); + } + if(n==1){ + enemy = new Skeleton(); + } + if(n==2){ + enemy = new Vampire(); + } + + Location location = null; + boolean validInput = false; + while (!validInput){ + System.out.print("chose:"); + int choose =input.nextInt(); + switch (choose){ + case 1: + { + location = new Location("Desert" , enemy); + validInput = true; + break; + } + case 2: + { + location = new Location("Sea" , enemy); + validInput=true; + break; + } + case 3: + { + location = new Location("Jungle" , enemy); + validInput =true; + break; + } + case 4: + { + if(dragonOpen){ + enemy = new Dragon(); + location = new Location("The end of line" , enemy); + validInput = true; + } + else { + System.out.println("It's locked!!!!!!"); + validInput = false; + } + break; + } + default: + { + System.out.println("Invalid input"); + validInput = false; + break; + } - - - - + } @@ -39,11 +232,238 @@ public class Main { } - // TODO: IMPLEMENT GAMEPLAY + System.out.println("==============================="); + return location; + + } + + public static void gameplay(){ + boolean playerTurn = true; + + while (player.isalive() && enemy.isalive()){ + + + System.out.println("========================================="); + + if(playerTurn){ + System.out.println(player.toString()); + System.out.println(enemy.toString() + "| HP:" + enemy.getHp()); + + System.out.println("\n"+GREEN + "It's your Turn" +RESET); + while (true){ + + if(playerAttakMenu()){ + break; + } + + } + playerTurn = !playerTurn; + + + if(enemy instanceof Skeleton && !enemy.isalive()){ + System.out.println("\n"+ RED); + enemy.specialAbility(player); + System.out.println(RESET); + playerTurn = !playerTurn; + } + if(!enemy.isalive()){ + System.out.println("you WIN"); + int n = (int) (Math.random()*2); + if(n== 0){ + if(enemy instanceof Goblin){ + if(keys.get(0) == true){ + System.out.println("You have got this key befor"); + return; + } + keys.set(0, true); + } + else if (enemy instanceof Skeleton){ + if(keys.get(1) == true){ + System.out.println("You have got this key befor"); + return; + } + keys.set(1 , true); + } + else if (enemy instanceof Vampire) { + if(keys.get(2) == true){ + System.out.println("You have got this key befor"); + return; + } + keys.set(2 , true); + } + System.out.println( YELLOW +"You chatck the" + enemy.toString() +"keys"+ RESET); + } + else { + System.out.println("There is no keys here"); + } + return; + } + } + + + if(!enemy.getpossible()){ + System.out.println(enemy.toString() + " Can't do any act"); + enemy.truepossible(); + playerTurn = !playerTurn; + continue; + } + if(enemy.getpossible() && !playerTurn){ + + System.out.println("\n" + RED +"It's enemy Turn" + RESET); + enemyAttakMenu(); + playerTurn = !playerTurn; + + + } + + if(!player.isalive()){ + System.out.println("you lose"); + return; + } + + + + + + } + + + + } + + public static void enemyAttakMenu(){ + if(enemy instanceof Goblin || enemy instanceof Vampire){ + int n = (int) (Math.random()*3); + if(n ==0 && enemy.getMp() >=10){ + enemy.specialAbility(player); + } + else if(n == 1){ + + enemy.lightattack(player); + } + else { + enemy.heavyattack(player); + } + + } + + else if(enemy instanceof Skeleton){ + if(enemy.getHp() <= 0){ + enemy.heavyattack(player); + } + else { + enemy.lightattack(player); + } + } + + + } + public static boolean playerAttakMenu() { + + System.out.print("1.Light attak| "); + System.out.print("2.Heavy attak("+player.getWeapon().getManaCost()+ " mana)| "); + System.out.print("3.Defend(12 mana)| "); + System.out.print("4.Heal(14 mana)| "); + System.out.println("5.Special action (30 mana)"); + + int n ; + + while (true){ + System.out.print("choose:"); + n = input.nextInt(); + if(n > 0 && n < 6){ + break; + } + else { + System.out.println("Invalid input"); + } + } + + switch (n){ + case 1: + { + player.lightattack(enemy); + return true; + } + case 2: + { + if(player.getMp() >= player.getWeapon().getManaCost()){ + player.heavyattack(enemy); + return true; + } + else { + System.out.println("Not enough Mp"); + return false; + } + } + case 3: + { + if(player.getMp() >= 12){ + player.defend(); + return true; + } + else { + System.out.println("Not enough Mp"); + return false; + } + } + + case 4: + { + if(player.getMp() >= 14){ + System.out.println("1.Flask | 2. Teriak"); + int k ; + while (true){ + k = input.nextInt(); + System.out.print("choose:"); + if(k == 1){ + Flask flask = new Flask(); + flask.use(player); + break; + } + else if(k==2){ + Teriak teriak = new Teriak(); + teriak.use(player); + break; + } + else { + System.out.print("Invalid input"); + + + } + } + return true; + } + else { + System.out.println("Not enough Mp"); + return false; + } + + } + + case 5: + { + if(player.getMp() >= 30){ + player.specialAbility(enemy); + return true; + } + else { + System.out.println("Not enough Mp"); + return false; + } + + } + default: + { + return false; + } + + } + + } - private void } 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 f270ea5..651003e 100644 --- a/Java-Knight/src/main/java/org/project/entity/Entity.java +++ b/Java-Knight/src/main/java/org/project/entity/Entity.java @@ -1,6 +1,7 @@ package org.project.entity; import org.project.item.armors.Armor; +import org.project.item.weapons.Weapon; public interface Entity { @@ -9,15 +10,22 @@ public interface Entity { void defend(); void healHp(int health); void healMp(int mp); - void fillMana(int mana); void takeDamage(int damage); int getMaxHP(); + int getHp(); int getMaxMP(); + int getMp(); Armor getArmor(); + Weapon getWeapon(); void falsepossible(); void truepossible(); + boolean getpossible(); boolean isalive(); + void repair(); void specialAbility(Entity target); + String toString(); + String getName(); + diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Dragon.java b/Java-Knight/src/main/java/org/project/entity/enemies/Dragon.java index 6faf458..3380543 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Dragon.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Dragon.java @@ -17,4 +17,9 @@ public class Dragon extends Enemy{ heavyattack(target); //sout : fire! } + + public String toString(){ + String str = "Dragon |" + "Hp:" + getHp(); + return str; + } } 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 3e019e0..9ab8e09 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 @@ -15,8 +15,7 @@ public abstract class Enemy implements Entity { protected int maxHp; protected int maxMp; protected boolean ispossible; - protected boolean haveKey; - protected boolean isalive; + public Enemy(int hp, int mp, Weapon weapon , Armor armor) { this.hp = hp; @@ -26,32 +25,35 @@ public abstract class Enemy implements Entity { this.weapon = weapon; this.armor = armor; this.ispossible = true; - this.isalive=true; - int n = (int) (Math.random())*2; - if(n==0){ - haveKey=true; - } - else { - haveKey=false; - } + } public void lightattack(Entity target){ + System.out.println(toString() + " do a light attaked with " + weapon.getDamage() + " damages"); target.takeDamage(weapon.getDamage()); + + } + + + public void heavyattack(Entity target){ + System.out.println(toString() + " do a heavy attaked with " + weapon.getDamage() + " damages"); + target.takeDamage(2 * weapon.getDamage()); } - - public void takeDamage(int damage) { + if(!armor.checkBreak()){ hp -= damage - armor.getDefense(); armor.use(this); + System.out.println(toString() + " take " + (damage -armor.getDefense()) + + " Damage. " + armor.getDefense() +" Defens by armor" ); } else { hp -=damage; + System.out.println(toString() + "take " + (damage)); }; } @@ -81,6 +83,7 @@ public abstract class Enemy implements Entity { } public void truepossible(){ ispossible=true;} + public boolean getpossible(){ return ispossible; } @@ -90,18 +93,19 @@ public abstract class Enemy implements Entity { @Override public boolean isalive(){ - return isalive; + return hp>0; } @Override + public abstract String toString(); + public String getName(){return "";} - public void heavyattack(Entity target){ - target.takeDamage(weapon.getDamage()); - } + @Override + + public void repair(){} public void defend() {} public void healHp(int health){} public void healMp(int mp){} - public void fillMana(int mana){} } 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 8d55c45..028ff65 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 @@ -7,13 +7,19 @@ import org.project.item.weapons.knife; public class Goblin extends Enemy { public Goblin(){ - super(35 , 25 , new knife() , new EnemyArmor()); + super(35 , 30 , new knife() , new EnemyArmor()); } public void specialAbility(Entity target){ - heavyattack(target); - //sout : crirtal + System.out.println("\uD83D\uDC79 use critical hit"); + target.takeDamage(2 * weapon.getDamage()); + this.mp -=10; + + } + + public String toString(){ + return "\uD83D\uDC79 Goblin"; } } 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 1034148..a0fc717 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 @@ -15,12 +15,22 @@ public class Skeleton extends Enemy { } public void specialAbility(Entity target){ - if(this.isalive == false && this.resurrect == false){ - this.isalive = true; + System.out.println(this.toString() +"use Special ability"); + if(this.isalive() == false && this.resurrect == false){ this.hp=25; this.mp=15; + System.out.println("☠\uFE0F resurrect himself"); } + this.resurrect = true; + + + + } + + + public String toString(){ + return "☠\uFE0F Skeleton "; } } 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 4b1381b..76809d9 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 @@ -7,14 +7,22 @@ import org.project.item.weapons.wood; public class Vampire extends Enemy{ public Vampire(){ - super(60 , 25, new wood() , new EnemyArmor()); + super(60 , 30, new wood() , new EnemyArmor()); } @Override public void specialAbility(Entity target){ + System.out.println(this.toString() +"use Special ability"); + System.out.println(); + this.mp -=10; target.takeDamage(this.weapon.getDamage()); this.hp += this.weapon.getDamage() /2; + System.out.println(" \uD83E\uDD87 rob your Hp :)" + "(" + this.weapon.getDamage() /2 + " Hp)"); + } + + public String toString(){ + return "\uD83E\uDD87 Vampire "; } } 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 94b89a5..9a1d57d 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 @@ -7,13 +7,14 @@ import org.project.item.weapons.knife; public class Assassin extends Player{ public Assassin(String name){ - super(name , 60 , 80 ,new knife(), new woodenArmor() , 8); + super("šŸ—”ļø "+name +"(Assassin)" , 60 , 80 ,new knife(), new woodenArmor() , 8); } public void specialAbility(Entity target){ + System.out.println(this.getName() + "use special ability, (you are invisible now"); + mp -= 30; target.falsepossible(); - // sout : na marei ; - heavyattack(target); + target.takeDamage(weapon.getDamage() + fistDamage); } 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 cb7158f..a1aedc9 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 @@ -8,11 +8,14 @@ import org.project.item.weapons.Sword; public class Knight extends Player { public Knight(String name){ - super(name , 50 , 50 , new Sword() , new KnightArmor() ,10); + super("āš”\uFE0F " + name + "(Knight)" , 50 , 50 , new Sword() , new KnightArmor() ,10); } + @Override public void specialAbility(Entity target){ + System.out.println(this.getName() + "use special ability"); + mp -=30; target.takeDamage(weapon.getDamage() + fistDamage); target.falsepossible(); } 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 183d2a3..e60f6e5 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 @@ -16,6 +16,7 @@ public abstract class Player implements Entity { protected int fistDamage; protected boolean isDefending; protected boolean isalive; + protected int Xp; public Player(String name, int hp, int mp, Weapon weapon, Armor armor , int fistDamage) { this.name = name; @@ -28,21 +29,30 @@ public abstract class Player implements Entity { this.isDefending=false; this.fistDamage = fistDamage; this.isalive=true; + this.Xp=0; + } @Override public void lightattack(Entity target){ + System.out.println(name + " use light attak " + "| Damge: " + fistDamage); target.takeDamage(fistDamage); + } @Override public void heavyattack(Entity target){ + System.out.println(name + " use Heavy attak | Damage " + weapon.getDamage()); target.takeDamage(weapon.getDamage()); + mp -= weapon.getManaCost(); + } @Override public void defend() { + System.out.println("Defend mode is active now"); + mp -=12; isDefending =true; } @@ -51,14 +61,18 @@ public abstract class Player implements Entity { public void takeDamage(int damage) { if(isDefending){ + System.out.println("you have Defend this attak (half damage)" ); damage /= 2; isDefending = false; } if(!armor.checkBreak()){ + System.out.println("you take " + (damage - armor.getDefense()) + + " Damage. armor defend: " + armor.getDefense()); hp -= damage - armor.getDefense(); armor.use(this); } else { + System.out.println("you take " + (damage - armor.getDefense())); hp -=damage; } @@ -66,6 +80,8 @@ public abstract class Player implements Entity { @Override public void healHp(int health) { + System.out.println("you have got " + health + " Hp"); + mp -=14; hp += health; if (hp > maxHP) { hp = maxHP; @@ -74,6 +90,8 @@ public abstract class Player implements Entity { @Override public void healMp(int mp) { + System.out.println("you have got " + mp + " Mp"); + mp -=14; this.mp+= mp; if (this.mp > maxMP) { this.mp = maxMP; @@ -81,21 +99,27 @@ public abstract class Player implements Entity { } - @Override - public void fillMana(int mana) { - mp += mana; - if (mp > maxMP) { - mp = maxMP; - } + public String toString(){ + return name+ " |Hp: " + hp +"/" + maxHP + " | Mp: " +mp +"/" + maxMP + "| Xp:" +this.Xp ; } public abstract void specialAbility(Entity target); + public void repair(){ + this.Xp +=1; + this.maxHP +=5; + this.maxMP +=5; + this.hp = maxHP; + this.mp += (maxMP / 4); + armor.repair(); + System.out.println( "Repair: we full your Hp , repair your armor and give you some Mp"); + } public String getName() { return name; } + public int getHp() { return hp; } @@ -108,6 +132,7 @@ public abstract class Player implements Entity { public int getMp() { return mp; } + public boolean getpossible(){ return true;} @Override public int getMaxMP() { @@ -125,7 +150,7 @@ public abstract class Player implements Entity { @Override public boolean isalive(){ - return isalive; + return hp > 0; } 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 91a25b8..6320c27 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 @@ -6,10 +6,12 @@ import org.project.item.weapons.wood; public class Wizard extends Player{ public Wizard(String name){ - super(name , 90 , 60 , new wood() , new leatherArmor() , 7 ); + super("\uD83E\uDDD9\u200D♂\uFE0F " +name+"(Wizard)" , 90 , 60 , new wood() , new leatherArmor() , 7 ); } public void specialAbility(Entity target){ + System.out.println(this.getName() + "use special ability"); + mp -= 30; target.takeDamage(weapon.getDamage() + fistDamage); this.healHp(30); } 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 7bc928e..be19f8f 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 @@ -24,7 +24,6 @@ public abstract class Armor implements Item { } - public boolean checkBreak() { if (durability <= 0) { isBroke = true; 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 index ea27ad8..c20f3dc 100644 --- a/Java-Knight/src/main/java/org/project/item/consumables/Flask.java +++ b/Java-Knight/src/main/java/org/project/item/consumables/Flask.java @@ -6,7 +6,7 @@ public class Flask extends Consumable { @Override public void use(Entity target) { - target.healHp(target.getMaxHP() / 10); + target.healHp(target.getMaxHP() / 4); } } diff --git a/Java-Knight/src/main/java/org/project/item/consumables/Teriak.java b/Java-Knight/src/main/java/org/project/item/consumables/Teriak.java index 6feb0d5..b94bd97 100644 --- a/Java-Knight/src/main/java/org/project/item/consumables/Teriak.java +++ b/Java-Knight/src/main/java/org/project/item/consumables/Teriak.java @@ -2,10 +2,11 @@ package org.project.item.consumables; import org.project.entity.Entity; -public class Teriak { +public class Teriak extends Consumable{ + @Override public void use(Entity target) { - target.healMp(target.getMaxMP() / 10); + target.healMp(target.getMaxMP() / 2); } } 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 index a853ea0..1ee3f71 100644 --- a/Java-Knight/src/main/java/org/project/item/weapons/Sword.java +++ b/Java-Knight/src/main/java/org/project/item/weapons/Sword.java @@ -6,6 +6,6 @@ import java.util.ArrayList; public class Sword extends Weapon { public Sword() { - super( 20 , 8); + super( 23 , 8); } } diff --git a/Java-Knight/src/main/java/org/project/location/Location.java b/Java-Knight/src/main/java/org/project/location/Location.java index f59f4c5..0c59ec8 100644 --- a/Java-Knight/src/main/java/org/project/location/Location.java +++ b/Java-Knight/src/main/java/org/project/location/Location.java @@ -1,5 +1,6 @@ package org.project.location; +import org.project.entity.Entity; import org.project.entity.enemies.Enemy; import org.project.entity.enemies.Goblin; import org.project.entity.enemies.Skeleton; @@ -9,21 +10,19 @@ import java.util.ArrayList; public class Location { private String name; - private Enemy enemy; + private Entity enemie; - public Location(String name) { - this.name=name; + public Location(String name, Entity enemie) { + this.name = name; + this.enemie = enemie; + } - int n = (int) (Math.random()) * 3 ; - if(n==0){ - this.enemy = new Goblin(); - } - if(n==1){ - this.enemy = new Vampire(); - } - if(n==2){ - this.enemy = new Skeleton(); - } + public String getName() { + return name; + } + + public Entity getEnemie() { + return enemie; } } diff --git a/Java-Knight/target/classes/org/project/Main.class b/Java-Knight/target/classes/org/project/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..bd4f4439273785ebcf6911d94ae32be2f70a25d4 GIT binary patch literal 8056 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 UZ@+%`NsRMe&c$UHS$yvQ0p`K)WdHyG literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/Entity.class b/Java-Knight/target/classes/org/project/entity/Entity.class new file mode 100644 index 0000000000000000000000000000000000000000..95425d7a21e856883f5d7cca1464611b1f60e4e8 GIT binary patch literal 658 zcmZ`$%T5A85bQzO1r`()ANWQt%f)mJOVW7E2h!t_6!O_S(_q6QgX$P(=mi-0-gRGj z7&w9OM-rvP!GyuSd-?B#lh!TSM;vF*pLT1=A9yrmu;41uA~Co~7%aM-uewWhN#cZ` zVu(IxQ1H3z;?u>AZtF0}6QR0{&?P}ps!>txG>lUQ4Y&0xn~*&8P-&T`Ehh|$WWVE> z#1Vt$U;aleX5QRH9hCa)Ci($|E6a5HqjYHCw@80^&%hQL24Y5LE9D6a%C?jx zd>}Ar_eDTYPPt{=lc|V&1~tm@{p@p=7TYxW3PYMw>c!J^z|V!+@64}ttU4?P^h9)B zfEpby4;H8++6D_y)O86Qjb(!sgG;ci`KrMcgR2JDpr-Y8*wDCX=4~0Q!?xyk4DK3! T&+Ola1Fat_q@)e{=HTc998;7U literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Dragon.class b/Java-Knight/target/classes/org/project/entity/enemies/Dragon.class new file mode 100644 index 0000000000000000000000000000000000000000..f95da935af44c7f576ef00f18cd243b47a42c17d GIT binary patch literal 1302 zcmaJ>*>2N76g|_lad6yyr!3t7Cxsfy-k?e)P1Q&N9$K|RJWbM3;>Ph<_OvJxAHrwA zODnY!&xnsgTrUW>jd<{EI``aj&)o5^-{(I7RIsk0k6~H*P0RD;k!UE(R-$8l7Tl9= zU~T!lDcu7>8yyV&1_qF2$iA^%TWv68%)-8g9K+%@3hsBLA6OMvbh?}2T8D;y9eEfU z21BADhWT`uaFwmPmY@h*B#{givs$gCVV49RL_$l~0ZIBObE&YeV+5lb#te*Of?**| zcqMOKGef>5_(_*5#T#vgJLaVvNlYb@obXQ>n8pmlKvSq4FEXb(MmFCxFo#Y>0B4Vycgb=x7==}r~*NjSq?ulS@;hMbbI zJcbFgr|3+e{7_+!dh}g+>^H==9oCSKwXB9XhLN{YDvIRZJE2iO2C*$-BH`R1WQffcS57f}m0^^!k4FqsF)CpoJeIIb9OMA* zCtO=JM|q2>qrYOymFn literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class b/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class new file mode 100644 index 0000000000000000000000000000000000000000..2d3d1d0020954dead6c88aa4333c0d9954c0e3db GIT binary patch literal 3577 zcmai0SyL2O6#njP4MT$l1Otc;ia3nXQPF6EMgbvAGN2K~EsK|#mT9J^d(z#YWZ(B6 zkV>lZ>PsGyl#mJ!smg2qQmRrp_jc3t3~hYryPfYW-?``9{`=p}KLJePyEI~mD@dqF zBE_(KnXmG^!Of-omBnSP!$9$#1PMpEVQBptqRgA+MqIIEPE+mw=E%=*GyM; z*J#jcy5{7kXk256Rq70^Ab=ezb_rCn#vjhq#m+M-I>k<`CYO6ubZ-gF%ALI`o<%P? z@j&Bs%VZcVhE3|OR?B-wPX4A8854T@RqVq6S>krhvKbESM9C8;KQ06$=75R}1{u=2 zQ@0#PUoTMhx5lg5q-B=4dsBBSG;>^Tx(>sU>`v2#NO#WSoPrlryofP|u88m$l)4Dkpu}`X zs2y2o!v(yg;G&947-#4W$K>CaDS2&(cb7cg3MY{*j4X75VKj})m{KsU;$_S*41_hv z^oJ8kT1pkIRGlF5tCEyE0{@DNR|TbML6~-5GaXHA&#IWi6%t!_i-+Ex5rzp-g29g$5H*w|A#NI6m@&Au(x{$=_W?-PGn*YKxkE zoy*JGS+q*rSm3rU*8XO~t>~2XgAIzKN|kclX6Q>5m%A=65ql|@+e8>ce-zeBn*dcb zzPc8G%Kn9HpBGwYdENITNvdY36^L<`#uhPBAGjJ!XK5;~v{%Orhp0$)WV@-@J+Lfd z>J3qV2KpG zt<||sO(sBy4_ApV z=*2d}&9b36Lq*G~uGGhN_M^~F1MvDOjENb z4emIaqu?us!#iS%a#g`M)F}R6l(Ox`l^CSvAEUy*0D54>J4XFEAs!|<(gP|-dI04} zPoo^^1(YK_Ml^O4K8XeT-lWx!q%TS1NbYyAT>m;0@oCTPTgPtk>B=2jM^COdv5vkR zefIxK!ZF;U?=V{FyN4X;rdba5fudvZa{ zgu5|06UexniI5U>{yMJsj^3jaAvN?H4(2wH%{@lX2A?eJd45di$?q=|KB)A+2Zf^!pMS`_Ra91;U zCK7xfOA#^m{L&P2F%n#X9s%xa2G2!;mx+0g?bAfBU^|tIHx#J&69=wQ>CJ~UqyoyT zfrb--hQ<>25_TgJZD1zC`Tfnb-3o#IY$q6MRB7T5#tf89&`Jc+F0RZ^P!f-jhzn)j zZS_347gE;l$06=u60x>RjP%lPvD9nP=#g{G*BkG=-ps2O(iRU`sRyihs>sdle&V^I zhkz^qzWsFIawO0W+Q1odUgT_t#i|5)on*_R;Lnj|$lyL*h4BOxqW#hzD^{fKRXm`v fkJ`~kwEIwg-;v+< literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class b/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class new file mode 100644 index 0000000000000000000000000000000000000000..9c2063bc1ce376dfa6aea4d00572639f6309a316 GIT binary patch literal 1172 zcmaJ=?M@Rx6g`&~wk(U30fbz|b)2 z0i7dcy3>TMq}nwFXGjrd5=yypxzZhWrnGl{iN)T4kltr5=GTW2$GC=sfeB0!;@j2- z%WPP7-CWykvsRYkbQEE#;{TD3`NoyDT2rpDn#CBBgw)BW?ujyTPY=E|P;Y1}Yy6SoKh%@%>mG29`HhK8OBiavKXnQyEjZSlI(tP1z7 zRc-K>M8#pR*DY6i=kQ}xZOJwvdq#X;tBQnk?UtxXtFc;@4ZdT1*>nB!0u9^_c2`+0 zn?RWPPaq+t9KIvmL&9V(-`iRCW6kNfHStn$OWqyfPN#VqyeGo5#e>D`U4J0G z9gr%-v+?vXXyXu(V`%&uK7_uSD1g{6Nqxk7-Bp-DU4&DXUC&S22ddlgJKzv inTW80Cn4dYe`aNg+n+fls5g+6?5Z{Lr`D%_)aq}@4FGV)efqMkzy5vq0YD8+0||!X%GFY<<@nZ9r8d)G7%_1GqYR_hr6ctXhGem{ZXm^Qa=?~*UFG>!%@N(5 zouz(^VgVHy|@98EA3`ptx+rQWdwSx6CEGSrIodZQny$bR&Etm37~fj&5pC@NOkd1df?Fjyyw3E7D45i(#r*ir|r>P+Q4SQwkQt+VDHEqrWSAU6j=^vPsy5|3J7g{{wck4K@TYFTS{qPd)!?Wx~(?-6jo>=SkD)QW<;>SBZiq#+)1O39}V0M z2BX2S@MZp_v#mP9ie@UBl@;F7%A?F)^!GCcM&a&oXVVt`LPM!e&#ep&Q=ev!;lmwQ z41quH!{6HomPn<49Ag(%Zre@zgsBT=-Eo9hwYl#L-@rZU-#|{os2X@c9orvD9gFg! zVr6OPfVNj6`1VOkl1yuio>%F%7D~Xea`t>S{~qk;w@AK+LC4rzq|3=&WPT%D0@vs{ zLDs-Ht%3>6A%kz}W|AkeM+MjEWcUs@V&BimDnYs{zhk=m26ON574Qc0B$r+yU;YD` zmzXJMXLoV7oXzZFiGaC_0b(Q$n+(I|X?FrS3OGqCWD4_`Mu|u)(Js17nt;aPC{#>? zg5oB=CnC%Aj#6GCk+x6F>@1xD>tycoYdWIjf|7s=_9dxg>@A5~A*zbobfyUR1N~}P PrCadFu!j5i39}yojDDWH literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class b/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class new file mode 100644 index 0000000000000000000000000000000000000000..9f048a9d9b5d679eb6aa25000b7fdb4c48399ce7 GIT binary patch literal 1783 zcmah~>2exJ5dKCWEm~~^MpxuRMm_<@-rR>#?8q2dB=|@mD2j6pFoo7ycDHs1yLf`U zLVo%Yl9Y|ha+Mz-@8VZTrDu0tLWXkw%+YlB_V@KS%|HJhyaZ6euNtNpPPu;9^nCY$ zXiL+QqGvu5+;g44eB`oW(hYg$W=SG*3aY9YQ%NYf~k;pfb$N65hOl0*VY%J&%D^mFYbL zmvM#KAL)W&eVq5#l8GCm<9&Rf;X?x-;bVr=|IPT(Gqqh)ge2cfG>l4&JMs*lFMg?tir(=tNICS^>UTORhj988YHU^%U z;C_F^|87f7xYB6*;}m6X+jW{R)E1-aIKnU6JP1Uf;XcFpF-((6)$lX5@a?YD!Uz}E zNuYBy2!I4>lV&TeWx7?u6R=XuY-HA6fbBj*;srF?W}iX-i(IB~lUAK}wW>4~IvJFJ z!mx!~v@>j@8mD}WWa!)Y8|mT@O9was3~`#SL!2+}KEcI|-g%0Pmx@ntX$bQ1+jtGyiFiI(iVLp>(eeNQ literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/players/Assassin.class b/Java-Knight/target/classes/org/project/entity/players/Assassin.class new file mode 100644 index 0000000000000000000000000000000000000000..a207ca2e8114c1e05deae28bdbcc788350b6da65 GIT binary patch literal 1744 zcmaJ?|5h7C6#gbqHY^LIp-`bpw-zu7*wy0iU@J|FO-(5ZLb2*`2t$~%+1ax@DJM_i zzy7I@pr?YRM<2j<>G2Ib-rX#1(!}PEnas_-cfRj_cW(av_v9}CxA1+Iwv>fF^fR2V z^8-;*UX|-DsrTtysJW*@hPhnjA%DajmwPp5T?f*u74zLD0|N}xDyTVrpdN~9?0mN82k0Uq?a<=LFa$;D^hYV zRxjKAh!{pfUsNS`mv^K~jZ9A}*DGtQ$i)cifaU>_X1MSQM`F3I8bMX8$cV-8X*XSo z8iU&QhEh7z0r&3;y{~q|H11JXJp1|2XUD(%^T&@i%biB#)A*8Mfi*&5Cs=LX0=r=6 znyO**K-kiIBxBuePaTd9VBN$9zBaHKjhiionHTSbT-AX{CQEAqt?;T=0g?Zyy)P5T z7Q)-y+jT`aQ&H-m;TOA0*=Feo+-Uluhx>yz|9d;p{OTBTNs1D8-F50a645Gqo(M`V zJxUQ8_=e=~;?xVOfp1CFSG$s^Enf7Br)bzkpA8fmnPFVi9HBq09U51;wOL!QD7Eg|EoE8n0`(Pd1az+jxNQF!>(}YuZ5o literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/players/Knight.class b/Java-Knight/target/classes/org/project/entity/players/Knight.class new file mode 100644 index 0000000000000000000000000000000000000000..391fb6b82f66009fd83c4aaa63c41812e8d84549 GIT binary patch literal 1709 zcmah}>vj`W6#hecXKB8@>4 zBghyy5qiopoNc!gu9o`1_8fj7$aEt*8SeHVQ7V<&Ej!?DMX(Fq3JIhLOreyo4q*)A z1|}?=#Cr^xwp1MilmOzVTAE=z&X`p824zrF9tCd}OibaFfzuY=$Mn%m;v_H_4WZY0 zQ!tF>dXymxhLnl3_`txdg*nVKj7Fe3Lz5#f1md`atw(Y~W>Yw4A%{G9YV__K4zsX5sS?ig{lK z$m{u~u9G`?)%>#!G(-{(#sJQW0T$Dx@0 zMOCL`q%2*r-fHd$f0IW)vSn4{PL=yIyeGnby(?)>W;^omzdnqsS0LAJRJ&~V05J>) zo~TLgtnNsMnwZ8Z*UM+jsgSQy5j6KHR}80)P$c#h)$(g%O@`#sF_!aTQ&7WRQA!8e z=iW`BcU3(Y#4VEk_3Pume}6Q?auOm8_EM3cu*^AP|9p9~kDlIQ4>R;76+3(W+Fnm=_J{6m7Eb zNzv2}VV>UK&}|C_Nq{qpONS&vW;wI`8ppO@!g!4|9mg}~OAJ4a3|HxGM(Sxy!@?E1 zPsHXZ;ws(95pDZ5^2G2ht|vkEsa9c-m1h`Te1XYB(!vYOEN(x?LT0-D8y1!ppM!p# zr{mLKUg1ItORw-1!`r|Uw9tVQ#3D;vMrkvQ(TtC`fmrzu#0pCIj)M2$2HB)g#!Whh X>FW+j*Q56a?vl);`!??3Crthea^K5) literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/players/Player.class b/Java-Knight/target/classes/org/project/entity/players/Player.class new file mode 100644 index 0000000000000000000000000000000000000000..f4da2ebf6d129512044c0a3da08f285d1761b6cf GIT binary patch literal 4506 zcmai1>vt4q9e&=vZ3 zC5g0wHW&(f-Fh)stGgnZv#Y-2FXw7yYuT=Qxr=&LNK~zgt&o{oGd<(iooaDZjBPcr z4cir(N;L&FDMuLtkI7L>#dB(g9#?2{ytDR#U7cqn zM1DNjjcYc5dpk!v>D%kghPKC-9jho;2`TjI2w+ z%(6%1WZqq3BDw+w9XEH8^!X&wwko3;=JA+;r|`5wcg0$?$K7hd@-I7ni964?s=lXi zXkat_lY^Vj(l~+9Bu*Om9GLRQbk5d$WE?f|Unb36F=hv6+c1XHNt`h-jir<;~bt%B5z<4&oL!Y<(NDwY$@6y*SbU}Gf+4tR;CS{7ZYt1 zn6|3cxa;{TTqK|%ac0Gxw@t@0t%A?2m{s>y3ePJHEW1l)$>K>U=a)ptCscEwWR(}p zd7aw9G%n$VBxVg<#ubI#o1jLEhp`q)c46@hv$m*_UK9Om23{19X^BGW$+I(T$(JOf zFDvXAn2b-;C0sXPVUCuTJhoT=z`EL9NAu|5YzEDk7n>CABF&pKpFsli8BPH{TH%Q7 z4TYhY1W(Gp7z+|k*+50+NNe4$Sx!9#S7GdVy+2{zvdx91a@i!mbu(Wxhs{7LIM8I7 zR(0MiN;V`3o?EfaX%2=fu`t#}98(*kn+2j78D+Jx=*C$E3frcfs(pT`GH2H>S#xEc zWTxDLRi3r#j=YD538@8z{p&2p4!%(qUfC&@d?}m)Gv4Z3btYM%FHSjV2vI88*3IRH z(!8EA)DCJ+p?yZoOg9;ZDq^xK7I;=9rW%kEEe$uID+Lr%+&;0@8}XcqK*jxTzsF%;3Pfo~<0& zaSH45#o!mLvS+XPHvIZh@Bum^BaBn^jO+TIU$<)0wqJ7Ry%c_+ zuuGZj9#iKj?C{$r$5GKfVX72<*pSFeQlb(Z?IQ7G1}c>*W6V^d${&uHW>CyQ^0cYD zZ1FY06n>)6A@6$56kVUn`C1AeZ$6&p@y`@`m3cc~qpch_Yzn=*ZC$uhPE4 za>I`w`WadC)B6w;tN47wmAq?j*{cso?E~;&YMv~wd6y3#$j%Pr$kh|PggqHSFw#IU z(m?QK9j_$w0ucyXJw%YX!0@!2?S^=eTW$UaLPS9X1$=X)#!j(X#&}&n%>d3YfU~Tk39@yLm&OTR7@s8{d0Zp?RZKBk z7a}|^H+WpeS6DF$w`o0z=AHk>>D_$&Y9sEq!?Ye1bgNispz7SdRTHZtx*kL#(R6%* zwydn{F!wS`zzkdZ61(CB*6S>Wc~cv~)d;Sm4O~a@S_2oeIzmjZH!!^xVmcgPDr!t` zs(m6(!)0lne%hG$&AuR9k=GD53CmHWTo-CSooluG;5<1E@x2< z2N}*$*4IfwJ4;A1k%D%Z2$@j$MkDMTVF|DndP{DM?p8#(rJ?*Lo(rRjDz|@1D^Y50 z$11-StK6|s`HfiRw_}w%H!8mstNaeGgs>&?5_3~xqvksi&89}c-;8zJy;1p2M0t&^ zZ{gc9Z1rxW`u$ktJ9sxnxqqYb2eHaSjeyUD0ZUD{-$OESABkpxAM{aB%6B71+QZmo znzW#)ZA=JzuTjlIJQf1gS|tWHK91N>4gS9K{}u1WC^qAL`e?#;@jb4?9BV(P*YE4+ f2m1LV{rpfrKhn>i>gPTDh8k%~-^cIp2lV_G^i``Y literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/entity/players/Wizard.class b/Java-Knight/target/classes/org/project/entity/players/Wizard.class new file mode 100644 index 0000000000000000000000000000000000000000..5cbc63023a4fb67a915c81ec18841b6ccaa1ea34 GIT binary patch literal 1711 zcmah}T~iZR7=BJbmMkm8s93N@tU!}sU0eDcYKu`MZA2=Vh*rl#a+<7c_U!DQ$k3}! z?>oJ%cl`_PSg1JT5AbJr@AMyZ`tFCCG#R=Vd-lBhemu|n_57dxX8^9?UYd@CfdLFM zoM`baQIt-NtE#1%^yMq=D4$_ATYkVFa?|Ec!(3CIID}yXN$3ni3zlQ4iwpzVTt$PyFx_Lzy_WQR(-vGcg|`^obc|qF z#~4x?js&jK3}-qGg`+IBW4boq5oEg>o(#A8kSLYPot9m2t0C+{uR@F|1XC#GDoGr} zaSh`JPT(zuR7a|Id`bWjlx@XuJj$3Q%~i^vqC5)TD(INRNeyosIEBo?Osduo+^aKa z4WU+eOE4VE_9;Ue3<(`)@Q#MF2BtB?a5Mzf9hw}u0TA0EY<-dwFq_1?2C~SJ$Ck^$ zN`Yw3z&X4}1&k_7pnH?_s_1bRb(pxI;e7)iV4mUh|74vZNgOZp7H<$s>W?t)M+QC) zpy=OQe*AL;pW-tOpBpG(fnlQ4Z`=o0!ge4lMeY5{iP%J)-$*XXC|+5t?Q0)NSEUm!;flyM^AQ zbx67l*LPgeNBvHR{`JjZJ$3D{*hP`s_8RR0Dwk1m9N`sh?)$>maGPPKhf_bO8os0Q z9jr>_i+ItPPSP$5o&?Qp5;OGvif&bCBmqw6=k`g2)a}&5QykjZgZ307bR14;dl>ya zG+d;&9;zpip|4AHACJsY#AUjXBii>%C~^RGe7qlB+1 h_yE2kn*_?ZM&~Gf-5}{o_+G^=lIe8cz#ZJh#J_6J&vXC) literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/item/Item.class b/Java-Knight/target/classes/org/project/item/Item.class new file mode 100644 index 0000000000000000000000000000000000000000..3db1242f701c66f9514c4e119996f6235d620d7b GIT binary patch literal 153 zcmX^0Z`VEs1_oCKPId++Mh4ORqICU&qWrAXrmQu?7#X;N^Gl18Q{6IifT}q`2I_&# cVq;_g8UeJNfq@ZdJ}Uzoh{eDTB$*gE0AD~Q|3(0eFk2X~Ymu!7!0PQXzlpe0J=n(>}J} z*G}Dfppbm&wY^|VAzofN7{e`$rI0pp8>YfS$3M2u{EkH0Uf{ND$8UA~uDvZrA$8<_ za@$>3K~*F*Ya%Ck>7$Y&i3xFMTF#d@*Ip(~Oz8x939%$$+C&L6#P_;8 zey1V$hbhb{Ox-A`!m1P!b2c>y;jZjKRC4}JrmVV-Dw^;z9;v{ zX#^);S7E7o19h;?O-j>~9v92k0^N4N{_MBfYzliaaQtJJn$Gjry$`KUozOOcP<1Cic?=4(+>)4#p34)H$!N=wYRegF%hAw|F+PELo(sG+WY1`4tRGO; z+$B=h{3SAS3~J86D$W*7|rsz6y0|2IxA-z@KFmuvRS%!F>b=ZU`@ikATq9W|?e_Udy~nR3(cxCpVQdP>=eKD8jUCcM!c}R6GHkmNW>TA=h zR%%D+rvC>#6QVc0H@TcDyRY$^Jy?qmfi^;ZsXfHkN1ZWZ^#qq0PD5CKq4i*HUKF8-LTT{QlKVC;?Up7h+pYi0lh8wdK!23@ z7JKj_bRW#lJa*n=cK^NI0eHrF0uO$KAVr84;ZmD<{%-VARyJ2w*10gXHtT%oE<)=; zHOf8`!v1J9C?mv#tN%RXM$H%Y;Pm^0k`O%UH%aIes*$godM3?O%vRjFD0C%Or7+6r zLo=`owI*B_M{Kw!Bon3-rm{ a!wIAN9I%UHB4w8TzQZZbSaA$S57`fvN=&o> literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/item/armors/leatherArmor.class b/Java-Knight/target/classes/org/project/item/armors/leatherArmor.class new file mode 100644 index 0000000000000000000000000000000000000000..5088285c378858f165a895bf2d7c6360eb78b6da GIT binary patch literal 337 zcma)2Jxc>Y5PfrB8_$a-Vw*w;l33(A8-pMrLg27buHRf1v*9iqHXHw!m0*z{;Exh# zNeUam8F=&FFdxi(eShu&OwmmdAQXr)#7GD|V_)-)H7ixQTszg|(l*9!^9LUY$yl$o zyC=kh*=$$}vY5PfrB8_!cO_9=o0iG|nMC;^cK0!JFd^_z1^Hso$)b1}awRlvd@;Exh# zF@;SaJMiYc$9ypR{qy++V2E}M557Q<*JZYJAE*N zW}(-F+x&zLkA(QuY;37U+6_$qZNFd24~Z@WAL|}*gg9f2Sv|mK2DI)(n(je6<{r)& Y-RFQS1tKKOlD|4!;F1-e!RR6V1>GG@AOHXW literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/item/consumables/Consumable.class b/Java-Knight/target/classes/org/project/item/consumables/Consumable.class new file mode 100644 index 0000000000000000000000000000000000000000..2b9e334fdb2d493608b4ac0c6b4272f60fb55bba GIT binary patch literal 389 zcmZut%TB{E5S(q(20}`BUXeJ_aHv0^h)Y!@qzDe6+?`+*SBZ@h2Z_((gv5al;G+=h zfl=VM4kGl>4-v!|U`W_m%10?GX%^zTSgO(yhG*JncTVV!(>%lm z;lwrz@z7Xb7uu;>l-9IeEsILEV)pY65fKj8nlD*F2xj(95t2+Bb=B2{YHq!ru$S3V zR=I4nkH3?FyVort&DN&hc;EPA%| z&H8suNSs@a6tw0{qobah5x|vx_d7P*^cGN>*=^By*uTXkn6a8VRwaRseW-8 z3x<|YIPUz9uCd3d&!AFyMZNN+TBXa@1L5(<2*p2y1pU^XdVSfnlsi4Ne>M`20*Bb( zMW_=2sa0^?;%gQn4<}+^ zOJ8q&-wEjp%dvt>LZVhT^2i{oBBvn_jZj&pNGGs@XT2RKLS`s~o_Olr#+{w0v!J1f zbw-Y)uzOQNveu~^DoTXoWzsJ{ed$@^f%Pr-UJ{C3%aJ$XWFWnMWSCIux~8xV!7{EF zkI7(U`Gk}1KiExn8Tw2*tgXmbhHBOgHXjI&MGT1IEO-BqZoX16NyYaZqMRPowd(ylC*?2l!FO z>Jbyv$fdfv`qk@K%lpUc8-OF&CL)L$h*=mxoMFY6O{XLMmS`x)Rif=Y2;T9%z^R8P zLwwiuT(!qAVpl4Knu$>)444+iU@_$X%|Dd9>3elSWDJR>P=~zDn}Q)~7b;^IN6J9j z!UQr5bAv3xQ?7b+j>3aslv4L)+m{SEyHFiOhI+Yv3!D&AHZg^116d0*THVr6G=r&S ziEH5nLMxiHFpmWaD}F1!<;HBPI#f+IcHm!838|{4BfN zTl}6QM}v&ePJk>87mH+<=(d9>c|f9=w$tVd*i#5uCaZS`ltvqX74obvAXbSCl3VCqbC3W literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/item/weapons/Sword.class b/Java-Knight/target/classes/org/project/item/weapons/Sword.class new file mode 100644 index 0000000000000000000000000000000000000000..59df48334be20bb43db06d9026179fcace9038ae GIT binary patch literal 321 zcmaJ-yH3ME5S;ZReqg}R(DCRT3S6cjqCtri$)Yhb_1QkbS&lEdILUWWAyM!Fd=z3G zXkk~Ho!PtHz1z>P_YVLwoP@AodvGGS7!fYCc}`bGH?rze)yrkNlVYX2b^5fAgwa%W zs=p(+$zm}sJotq3KdbVcHZ{Rc#s$H-*R>=ZXR4DAn`J4@qbOU>oMyTbZ6S;r^l#GX zU(}j#nf>4VmJsH8V=6gUL$7c@@}?16fh&0Yy}^jxMZg%cn!siT1lRFd?7x9tSy(t= Y9QMHn@R>!-qMwU6#1SigJfns98~npZU;qFB literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/item/weapons/Weapon.class b/Java-Knight/target/classes/org/project/item/weapons/Weapon.class new file mode 100644 index 0000000000000000000000000000000000000000..aba5e91a02edf4c8c2e681d221e66369e5a729f5 GIT binary patch literal 806 zcmaJb#0wG? zf(L#8KMFB-bwvXevUKYm@67D(`RA|iKL8x!ejN@fKHLx1b)z9WdfGcSESPyX(8-mS?f;ugd;$w7ZgP>lhclt>w=XT@$p^xi=jf)i9 zL(E15UN>fm!0l&8^luK5R6k$LMmm3`MpGiKK{i&?p~@4Jm!Mm`P3D5m;2+iH$qu-W z#hfZT-KEl{o)3(FwNUv)bCK=;6bfprIUkOjjs*dcXXTnW{mX2TkM+~Uv>u$T_o2Bh zbhuXsf@?e-b1%GE$E=yrCGOz{&rN1;h*ub!y|0j7`xJg}`xK4OmaxUMMFJ?{l3YUr zt9;r-_ReV7#!Y4vur^}fjFGY5!ER~OXYTM@@Syhv{x_^S_+w#yIAc`Dx|KFv8_RR) yfMy*E32xzbDHz!t@QmIkmOC)rRtbY+n+`+!?v*lvJC~9hf0MT^CEv9c_kIK6caQr3 literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/item/weapons/knife.class b/Java-Knight/target/classes/org/project/item/weapons/knife.class new file mode 100644 index 0000000000000000000000000000000000000000..d5c87555fc19632abe9129f8226d8062e2793d49 GIT binary patch literal 321 zcmaKoy-veG49EY@cS2|a55ULPGLVshstcl0q=*F+=4&|MLYk|tX?ZRtqz*g)4~1}A z*5Z@?_Rq3?cmDp_d;z${Q3MON4=08Tk8rBZOSUk&mQ|OjPR_G;DHgh2W{+D>@W!fD z-Gtx{^L$kL2nZ*8yWU#$ED82-R1%yU{lt(Is+D)E`AnJzF>5$;T zswLs9_<#5{A-dNqQ^~37XGPm9FKe+DIET;Q>y7xh2w5YhE7%+X;YFIH!6)d0!NLJ+ XzYlO}01q)o@vabu7%=hUSuLc$_d-WX literal 0 HcmV?d00001 diff --git a/Java-Knight/target/classes/org/project/item/weapons/wood.class b/Java-Knight/target/classes/org/project/item/weapons/wood.class new file mode 100644 index 0000000000000000000000000000000000000000..c215821a9585505abbbf18b08a8da86ad0157f81 GIT binary patch literal 318 zcmaJ-Jx>Bb5Pfsscb;#)zSF&ny)yPeLkYcOrUH*2qgy2cls(B{( zo$2J#kGVKFqK*mv&YNM<@gH1rY?g^rsV40`B|IYZg~q3tEH2>rGsTC-3@i7N1r zj|Jt`-QRpXOhoeNbd+i{oHXZYmH=9Ps(&8c5O2{HA@5Gc10G*_gFtmeJqCR*7Sd0H zdU7l78TS5=&P_#~7(P$BYO+eRHQyA2NeP{Fs0O7h8!O+7Ch?G82-#QRdw0ijV>qBK zX>=%!9xYs1v@+5eFuK?}$ufD@@`|L3_A8iuIE7&!O;LDOfDMvm=<=In2`0hTC{m%w z{tSjHHp!D2vJ6v}EToaWh3&MALt6f2?H3qNWN47&ITfrb!WlT55;D}VvjAN953Vf) I*Hww#FEZ(g8UO$Q literal 0 HcmV?d00001