diff --git a/Java-Knight/src/main/java/org/project/Main.java b/Java-Knight/src/main/java/org/project/Main.java index 86c56a9..bd07ebc 100644 --- a/Java-Knight/src/main/java/org/project/Main.java +++ b/Java-Knight/src/main/java/org/project/Main.java @@ -295,15 +295,15 @@ public class Main { // for win senario if(!enemy.isalive()){ System.out.println("you WIN"); + int n = (int) (Math.random()*2); // 50% present enemy have key if(enemy instanceof Dragon){ - System.out.println(YELLOW + "Congratulation \n + you are the kingdom of Gogorio" + RESET); + System.out.println(YELLOW + "Congratulation \n You are the kingdom of Gogorio" + + " 1000 Hp | 1000 Mp" + RESET); ((Player) player).setKing(); // king senario; } - - int n = (int) (Math.random()*2); // 50% present enemy have key - if(n== 0){ + else if(n== 0){ if(enemy instanceof Goblin){ if(keys.get(0) == true){ System.out.println("You have got this key befor"); 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 7a96b13..da46654 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 @@ -28,7 +28,10 @@ public abstract class Enemy implements Entity { } + public abstract void specialAbility(Entity target); + + @Override public void lightattack(Entity target){ System.out.println(toString() + " do a light attaked with " + weapon.getDamage() + " damages"); target.takeDamage(weapon.getDamage()); @@ -36,13 +39,15 @@ public abstract class Enemy implements Entity { } + @Override public void heavyattack(Entity target){ System.out.println(toString() + " do a heavy attaked with " + weapon.getDamage() * 2 + " damages"); - target.takeDamage(2 * weapon.getDamage()); + target.takeDamage((2 * weapon.getDamage()) - 10); } + @Override public void takeDamage(int damage) { if(!armor.checkBreak()){ @@ -57,39 +62,37 @@ public abstract class Enemy implements Entity { }; } + @Override public int getHp() { return hp; } - public int getMp() { return mp; } - public int getMaxHP(){ return maxHp; } public int getMaxMP(){ return maxMp; } - + @Override public Weapon getWeapon() { return weapon; } public Armor getArmor(){return armor;} - + @Override public void falsepossible(){ ispossible = false; } public void truepossible(){ - ispossible=true;} + ispossible=true; + } public boolean getpossible(){ return ispossible; } - public abstract void specialAbility(Entity target); - @Override public boolean isalive(){ @@ -99,9 +102,6 @@ public abstract class Enemy implements Entity { @Override public abstract String toString(); public String getName(){return "";} - - @Override - public void repair(){} public void defend() {} public void healHp(int health){} 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 028ff65..19f763e 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 @@ -13,7 +13,7 @@ public class Goblin extends Enemy { public void specialAbility(Entity target){ System.out.println("\uD83D\uDC79 use critical hit"); - target.takeDamage(2 * weapon.getDamage()); + target.takeDamage(2 * weapon.getDamage() - 5); this.mp -=10; } 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 9a1d57d..00f1d99 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 @@ -11,11 +11,13 @@ public class Assassin extends Player{ } public void specialAbility(Entity target){ - System.out.println(this.getName() + "use special ability, (you are invisible now"); + System.out.println(this.getName() + "use special ability, (you are invisible now) " + + "+ Damge:" +weapon.getDamage() + fistDamage ); mp -= 30; target.falsepossible(); target.takeDamage(weapon.getDamage() + fistDamage); + } 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 c4656f0..4f943b3 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 @@ -18,6 +18,9 @@ public abstract class Player implements Entity { protected boolean isalive; protected int Xp; + + + public Player(String name, int hp, int mp, Weapon weapon, Armor armor , int fistDamage) { this.name = name; this.hp = hp; @@ -33,6 +36,8 @@ public abstract class Player implements Entity { } + public abstract void specialAbility(Entity target); + @Override public void lightattack(Entity target){ @@ -99,12 +104,13 @@ public abstract class Player implements Entity { } + @Override public String toString(){ return name+ " |Hp: " + hp +"/" + maxHP + " | Mp: " +mp +"/" + maxMP + "| Xp:" +this.Xp ; } - public abstract void specialAbility(Entity target); + @Override public void repair(){ this.Xp +=1; this.maxHP +=5; @@ -121,14 +127,14 @@ public abstract class Player implements Entity { this.maxMP = 1000; this.mp = maxMP; armor.repair(); - } + @Override public String getName() { return name; } - + @Override public int getHp() { return hp; } @@ -138,9 +144,12 @@ public abstract class Player implements Entity { return maxHP; } + @Override public int getMp() { return mp; } + + @Override public boolean getpossible(){ return true;} @Override @@ -148,11 +157,12 @@ public abstract class Player implements Entity { return maxMP; } + @Override public Weapon getWeapon() { return weapon; } - + @Override public Armor getArmor() { return armor; } @@ -162,7 +172,7 @@ public abstract class Player implements Entity { return hp > 0; } - + // we should override this function but they are for enemies public void falsepossible(){} public void truepossible(){} } 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 6320c27..02e5320 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 @@ -13,7 +13,11 @@ public class Wizard extends Player{ System.out.println(this.getName() + "use special ability"); mp -= 30; target.takeDamage(weapon.getDamage() + fistDamage); - this.healHp(30); + this.hp += 30; + System.out.println(toString()+ "have got 30 Hp"); + if(hp > maxHP){ + hp = maxHP; + } } 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 22c9a11..507497a 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 @@ -25,7 +25,7 @@ public abstract class Armor implements Item { public boolean checkBreak() { - if(isBroke){ + if(isBroke){ // if armor broke by dragon return true return true; } if (durability <= 0) { @@ -70,5 +70,5 @@ public abstract class Armor implements Item { public void brokeArmor(){ isBroke =true; - } + } // for dragon attak } 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 c20f3dc..5f2bf40 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() / 4); + target.healHp(target.getMaxHP() / 2); } } diff --git a/Java-Knight/src/main/java/org/project/item/weapons/knife.java b/Java-Knight/src/main/java/org/project/item/weapons/knife.java index cf60f97..4b83f59 100644 --- a/Java-Knight/src/main/java/org/project/item/weapons/knife.java +++ b/Java-Knight/src/main/java/org/project/item/weapons/knife.java @@ -2,6 +2,6 @@ package org.project.item.weapons; public class knife extends Weapon{ public knife(){ - super(20 , 8); + super(15 , 8); } } diff --git a/Java-Knight/src/main/java/org/project/item/weapons/wood.java b/Java-Knight/src/main/java/org/project/item/weapons/wood.java index 39acdf7..67851cc 100644 --- a/Java-Knight/src/main/java/org/project/item/weapons/wood.java +++ b/Java-Knight/src/main/java/org/project/item/weapons/wood.java @@ -3,6 +3,6 @@ package org.project.item.weapons; public class wood extends Weapon{ public wood(){ - super(15, 8); + super(16, 8); } } diff --git a/Java-Knight/target/classes/org/project/Main.class b/Java-Knight/target/classes/org/project/Main.class index 503fd24..cfbf971 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/enemies/Enemy.class b/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class index 73539c8..ca29172 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 9c2063b..7a56216 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/players/Assassin.class b/Java-Knight/target/classes/org/project/entity/players/Assassin.class index a207ca2..44185f6 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/Player.class b/Java-Knight/target/classes/org/project/entity/players/Player.class index 1e823a7..75e643b 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 5cbc630..06c1506 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/consumables/Flask.class b/Java-Knight/target/classes/org/project/item/consumables/Flask.class index 26a3b19..0d6a6f8 100644 Binary files a/Java-Knight/target/classes/org/project/item/consumables/Flask.class and b/Java-Knight/target/classes/org/project/item/consumables/Flask.class differ diff --git a/Java-Knight/target/classes/org/project/item/weapons/knife.class b/Java-Knight/target/classes/org/project/item/weapons/knife.class index 3ab8b24..d5c8755 100644 Binary files a/Java-Knight/target/classes/org/project/item/weapons/knife.class and b/Java-Knight/target/classes/org/project/item/weapons/knife.class differ diff --git a/Java-Knight/target/classes/org/project/item/weapons/wood.class b/Java-Knight/target/classes/org/project/item/weapons/wood.class index 8faa7e4..61f2fc7 100644 Binary files a/Java-Knight/target/classes/org/project/item/weapons/wood.class and b/Java-Knight/target/classes/org/project/item/weapons/wood.class differ