From d77fc1f3f3a82a97dbfec4b87b09eb7c3648f1c9 Mon Sep 17 00:00:00 2001 From: mahdiLenovaF Date: Thu, 14 May 2026 15:22:32 +0330 Subject: [PATCH] finish --- .../src/main/java/org/project/Main.java | 8 +++---- .../org/project/entity/enemies/Enemy.java | 22 +++++++++--------- .../org/project/entity/enemies/Goblin.java | 2 +- .../org/project/entity/players/Assassin.java | 4 +++- .../org/project/entity/players/Player.java | 20 ++++++++++++---- .../org/project/entity/players/Wizard.java | 6 ++++- .../java/org/project/item/armors/Armor.java | 4 ++-- .../org/project/item/consumables/Flask.java | 2 +- .../java/org/project/item/weapons/knife.java | 2 +- .../java/org/project/item/weapons/wood.java | 2 +- .../target/classes/org/project/Main.class | Bin 8604 -> 8625 bytes .../org/project/entity/enemies/Enemy.class | Bin 3579 -> 3586 bytes .../org/project/entity/enemies/Goblin.class | Bin 1172 -> 1174 bytes .../org/project/entity/players/Assassin.class | Bin 1744 -> 1745 bytes .../org/project/entity/players/Player.class | Bin 4637 -> 4637 bytes .../org/project/entity/players/Wizard.class | Bin 1711 -> 1856 bytes .../org/project/item/consumables/Flask.class | Bin 568 -> 568 bytes .../org/project/item/weapons/knife.class | Bin 321 -> 321 bytes .../org/project/item/weapons/wood.class | Bin 318 -> 318 bytes 19 files changed, 44 insertions(+), 28 deletions(-) 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 503fd244fe2a5532ce07cdce9ebad381f5f4187e..cfbf971f5bdfb75b730ee4ca02699bdbc30f455e 100644 GIT binary patch delta 1116 zcmXYv3rv<}7>2L=mpDZ!g2Yk(K$64+Q5XXXigFf`C7>Bf%0aLcP$(lHoTipF#6Gqp zu+1_t7l}}aI1`#?D4V1P%}}RcC{fw8S(`;K+V^hn;W>WywWls|e`4cam$8ls-2I%n zD&|^^E?zeKBCFFSz}Ie{5gs0HpHpZryL(G6^h*z4<;0Nnrn6UI;mTztIcti-p1X6p za*bg(e#KEZ73CBst;o-9p6)u!RmoPC=XRgxu`wS9Qg9>{chc}@0aI9Lc~1B<^ za4#?6!BTu#Mj)9?C5s5MiD5Z$El}lIL>ee z-)S5ti^P0^CJ4__N`H=rLjmL&1aB*lDg{w%P<*0b8WcjS z9;RJW=~Sq}GmUea&d&zXkY;j2v*e&ixv3&b_bFQbiczp)6{R>mrbiWT*0XwC3-yHZ zl&C^IsnwdTa?O#YB-JWeb(*hwrKnA*`bKH$(gK~*B3)3r2DMm2TB4iE)QGZd&dRpA zs6eSkoR?wS$r%&17#YwuXKToR(ml6{)A zXS9!0HL_66WagJMq_)Wds z(mDRsPjXV9!FgVuM!%mfYN9SFC_zm==o P2Jt^yV;f@~xBu`T7!@8` delta 1078 zcmXYv4@^~M9EP9wPPkljMM?zs^5+IB6qp9O5?HaWT88MRkS+`bMPR`t0ZU26Im^Ex zbWC7U&2XVkr(OuCrl6%wWTi&oiZTa;iEFXeTE(o->YVM{Iqx~=_n!Cp-cz1N&&i{X zr~rNx$*%0Aq!Lf5x1cPyVqI}=MNz5O9q5jCZ?LX7BJ8g086|dZTAKqxtjNG1*D$vx zFoM6Zm*-cc7kLZ()A;XbNei4AsD;+L;QFw|*jU0iGVv#i`*@CUmJ-V{YwG>K^DYr#-!fZ zG@2pru$3lWHv?;FHsg8Fc9&T>14 za|+_Tg1Mj&y7eHJG?^a7a#@L7(JZd&alV#^KF#Br=F_hXzEc+8YbDpUh5>mQ)LOGu z72MKBMpVTg+RC5W#b4IKu*1_*4QCtJ?Bh~=EclQ`qCsOm;{LxJ^$|4j%Qixt4O(x- zIIV=iyUKu3%u8qKX(0HnF!Zmmpo`%)e(Jy%%`KAP0hAGcTJbWy5n+I87J8Y zl^<@|nXCX3t1p+i9!>1haR9tp&U>cO>%Nv;dCg1E=6)tQ6|2dZxn4J z#xQKK{Gut6rplpM1?nM%DPGY^P?Dx8MUN;|Gn8JaL}eN&Uo%yrS@P;JRcf|s%;S1J zp$2($NORP#x$4wBUDVU+(R_WYbPZ~OhLxdFE!LQp*!+}f^VbSxngWLyh6A)ITgwqP zo1gV}c$8nl7}I6NMEp88kBM4^ORGsxKFKQJNfnvc#Vk{)iM^K9Dx*~8Y|_i@RweuN zDsP(|JE%>Z&=x+@_Ll6(%c|OgLvIkJYT~q)M^$6Sy@f~nc~*5~s-C4fK%U-Zo8Duu zny6JX%{q)vM`+bCPU|?G@|hyF(5qHcpmtN14sPfSKdY19b&fmwM0S0u2{QH51-bN@ yA`On1M0Fdmmkh@q!|w~FsaH>_&+xfs*j(51`oYk>p#sC}B@L-eBUZortA7Ary%6jG 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 73539c8e1adda5edd80d86c6f172d792c2635928..ca2917270ae65127c3e392e9758545744fd8f70c 100644 GIT binary patch delta 433 zcmYjNO-n*S6g}g6hRwVzgQrPuDoe;dAo|cWGAhAU(jq^~Os({lK~ODP1l6kjh4%e} z!bP-b(QjzeA892)_q{@7;LMzR?!D(Q?cw{-b3pI+UYsA*tV(mOYBjCP>z1hxidM`W z(hOZ-4_g2PN|g6(Cc^Mz9Ak)}z*Rq7jA0b9%eVd7N11yC4tPo+$F(|irz=Wdp3%gB zJbXjag%?&_$TNDOF-~C!)0o6e*WPGnZ`9sPbG;9l1xPF+geCTh@rfhFm_`y=tg!29 z*Lr?N8XR{E*HEbXv&W{=D=HWSBmCr$d4J{nPe zt&Rr$$gs%Tnr7jImQ`46JDsO=r6TSfxRIkLWvV8-{r$o`eW-wv&QBCrFWR~|qi;1K dN{(mTm^EuodOIo5_n*E>H%44ETCc{2_yqzTN>Ts- delta 482 zcmZutO-lk%6g^MJ7{{@i!ZA^VRM1>mNuLM_DQ?m}h&20fOsgq_pf>FyS_Ex^`!^yA zY1>bU{z2{CbY~_)qRqSaymQVy_r04)FZ>*ox+!T`3=LkKw+~FClW&?G^YW@Y_Aew*a&t!NoO2A99Qyvxs;Im*;_bhy8VaY=7LmbhXGD=~eMxToAK89)I zs!tPTOCe6^+Lx@a!-EZbJ!=(f5$AaVr`$Uqli@U*OG~eazWhnw{MX$<$<7O@TBzEm f@Hq1&fiqNSQOyP#eXRc{-Jn}_UbMS!>azF-PN7W= 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 9c2063bc1ce376dfa6aea4d00572639f6309a316..7a5621625cbbc756ad2f9cbbb8190361edb63fdc 100644 GIT binary patch delta 75 zcmbQjIgN9}Yi8M024)5(1_lPzO$_`(qT3k6wOO^cFvxCWP|n~;naswbCM(Gx$e_X? Y%wP^wB?eK;V8LJsYi8+W24)5(1_lP@O$_`(qT3k6wOO^cFvxCWP|ldl!J;NB&LGI3#30OI W4pbusQORJzU_^-T6=@dg0$Fbfm_ 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 a207ca2e8114c1e05deae28bdbcc788350b6da65..44185f6bbdab6d46bf3e12acfe2c4ece659081b3 100644 GIT binary patch delta 20 bcmcb>dy#j8D+{CUWH%NaM$OGdEOAT#L*)gZ delta 18 Zcmcb}dx3X@D+{B}WH%O_&BZKnOaMC!1$6)b 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 1e823a709f68a0d8917db42e593315c741b2fc0e..75e643b4625bb7a99cdb82937ae352f4ce0266ea 100644 GIT binary patch delta 590 zcmYjNT}u>U7(K7+M>{(+J7eyL8=VMpKoc&Z6PKmk_y7H^jQDztt2lu; z`3Xw*%8IX)96$}O!H+>!ud_Nt`5WlKP4w_g;1=%SHXdOFFK`!m+(V9Df~erXfN8wq zd5GS@qKhJN4Lsp}^gF!H$|rp^@BlgYE_%8$7RRX<+r6ttsM(|Ii_M9sT5_@j;WF?+gH>#*|n2@ E0s6gdTmS$7 delta 652 zcmYk2OHUJV6vfZq7J)MDOqI5v76C^Jgi@-l0^wD|!vq2$Kv5EuN7U35M5&hY&`Q*W z3pdvV8)Cu&S0*HU0oKOA&QIXCkcEc{PG&RzGdK7C&bfEj+%*rLmPo#2Pxq~^JXy@l zXHyHAY$jJY3|;)?iU;6E5akHLhbmk~HNRI7##P+FH8fGRq6P_EM+a)rgLy zgDEzdsT8iNzet7oyCpxgbk77dOmhDz)FF))Omo|Zj&MmkToP|>j0-A3#5+lONBd@p zc*IPPdA>QAm?vh@fr#3OC@=6o2@x$s6!Bh8yxrB$tO1P``-Ezz3mZ+E7{Y=SM6E3dQYi?ng4~v&ZLHGJ(df!I za5GOp!k$2Y1qg0o%5aZopZn3qsZ^5b#;4j3FK)WTmOvd0g}vw zndOnfXm%{2b77v7QiR;Svb*2<(uiYV_`-acSH3X#S${8Ts-@uL{?fnX*&3<-09h_AK?;x0+D~f$fEWrRN$>t?{(BtDQ@LCv*v&a%k z&Ks5m3sO6i#r{;)i}yYGSve&)l-fQccS0g_&a(?%z&UnC8ggGAGMMqBD2`>y#D8~! zkYI!uQTdM;j~QZ$VfmIgZ%I&L^q!yUou4Wt=_^)bI*7VqvLYMH!VFeflQ<&$gDBqh RaHEG+YSOW!TF0Tm!~bC*O>F=G delta 337 zcmX@Wx1N{l)W2Q(7#J8_8R9l_{bds7Vvu66<6*F8uwi6i%ScVk@hF(=#C&P83X7hH zKO=+W+XegHZlC$6q4&|uruRGg6&N+bGpiDdQZzXj0vQ=Z7)y&&6^aW|lQR=@6cUp% zb23XR`PmqPxfntiLfIL@co>)&!Y8k1xy%y9$e=oTBdZ*jicfxic4+}SL(JrLtoDo! zli#r#I64BI#Kph_Bsm%6fGj5QZf2bvGk zWjr~aO}9WmZX1K`Mj)4o0c4;U11pf^W#DJv1NxGmL5D$r!H7W+$#7%1;l>P}3|>G( lnHjvn`h6IDfixe`q#&TEAD9eahyaRl0r`;((G0N+k^sg*J+c4* 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 26a3b1930a0b175728b861d07746a4f49a1cb737..0d6a6f82552e01dbb5c75444d4d883d5481fb6e7 100644 GIT binary patch delta 13 UcmdnNvV&#AH%3O*$=?|r0VN*<@&Et; delta 13 UcmdnNvV&#AH%3PG$=?|r0VOE}^Z)<= 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 3ab8b243c890812136dbb321f3e8674d74ae2640..d5c87555fc19632abe9129f8226d8062e2793d49 100644 GIT binary patch delta 13 UcmX@ebdYHS7b7G8WNt