From cf1a8e9cc316196221d514b4e013cf16f1bdd79c Mon Sep 17 00:00:00 2001 From: Grough Date: Wed, 11 Sep 2024 14:48:03 +0200 Subject: [PATCH] Armor create and the choice of the armor modify the character's stat --- .../Java_Petit_projet/heroes/Hero.class | Bin 4809 -> 5872 bytes .../Java_Petit_projet/items/Equipment.class | Bin 0 -> 335 bytes .../items/armors/Armor.class | Bin 260 -> 0 bytes .../items/chests/Chest.class | Bin 0 -> 265 bytes .../items/chests/LeatherArmor.class | Bin 0 -> 690 bytes .../items/chests/MailChest.class | Bin 0 -> 682 bytes .../items/chests/PlateArmor.class | Bin 0 -> 686 bytes .../items/chests/RobeMage.class | Bin 0 -> 745 bytes .../Java_Petit_projet/items/helmets/Hat.class | Bin 0 -> 727 bytes .../items/helmets/Helm.class | Bin 0 -> 734 bytes .../items/helmets/Helmet.class | Bin 265 -> 270 bytes .../items/helmets/NoHelmet.class | Bin 0 -> 536 bytes .../items/weapons/Weapon.class | Bin 0 -> 270 bytes .../Java_Petit_projet/systems/Game.class | Bin 5491 -> 10001 bytes src/heroes/Hero.java | 40 +++++ src/items/Equipment.java | 8 + src/items/armors/Armor.java | 6 - src/items/chests/Chest.java | 6 + src/items/chests/LeatherArmor.java | 15 ++ src/items/chests/MailChest.java | 15 ++ src/items/chests/PlateArmor.java | 16 ++ src/items/chests/RobeMage.java | 16 ++ src/items/helmets/Hat.java | 17 ++ src/items/helmets/Helm.java | 16 ++ src/items/helmets/Helmet.java | 4 +- src/items/helmets/NoHelmet.java | 13 ++ src/items/weapons/Weapon.java | 6 + src/systems/Game.java | 153 +++++++++++++++++- 28 files changed, 318 insertions(+), 13 deletions(-) create mode 100644 out/production/Java_Petit_projet/items/Equipment.class delete mode 100644 out/production/Java_Petit_projet/items/armors/Armor.class create mode 100644 out/production/Java_Petit_projet/items/chests/Chest.class create mode 100644 out/production/Java_Petit_projet/items/chests/LeatherArmor.class create mode 100644 out/production/Java_Petit_projet/items/chests/MailChest.class create mode 100644 out/production/Java_Petit_projet/items/chests/PlateArmor.class create mode 100644 out/production/Java_Petit_projet/items/chests/RobeMage.class create mode 100644 out/production/Java_Petit_projet/items/helmets/Hat.class create mode 100644 out/production/Java_Petit_projet/items/helmets/Helm.class create mode 100644 out/production/Java_Petit_projet/items/helmets/NoHelmet.class create mode 100644 out/production/Java_Petit_projet/items/weapons/Weapon.class create mode 100644 src/items/Equipment.java delete mode 100644 src/items/armors/Armor.java create mode 100644 src/items/chests/Chest.java create mode 100644 src/items/chests/LeatherArmor.java create mode 100644 src/items/chests/MailChest.java create mode 100644 src/items/chests/PlateArmor.java create mode 100644 src/items/chests/RobeMage.java create mode 100644 src/items/helmets/Hat.java create mode 100644 src/items/helmets/Helm.java create mode 100644 src/items/helmets/NoHelmet.java create mode 100644 src/items/weapons/Weapon.java diff --git a/out/production/Java_Petit_projet/heroes/Hero.class b/out/production/Java_Petit_projet/heroes/Hero.class index 1bbb08e103adf0d4b9223ef0c508e0982967a731..131862329788140904ab5df5c8a8c926a9c13ebe 100644 GIT binary patch literal 5872 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 apX>6My8N{+e~Z6THcq*};UD-HR{R${pPnTE literal 4809 zcmchb?SC9q6~}**q}gP9+f6q~X$9I?+L&yhYq2UcwLnvA0%<8t4J8F+k{yysHaqFg zBsPljpgafyRzRvy0Y#yR46?3Z?mg$+@4e^TdrtE2 z|Ezoh;2{3hjwUpx(4w#otrphLIAzcA^TX^cw3O_5$3k{=)?TvnMY}Ye9}CKEX?jr9 z+7#N6rc~LUqEzQ-q${6({y5vgG!!R)k=% ze_R&IDs-aDLi4OQNh4JWe);)Zy-BXJSys8iLMB?EIwjg$6+VM2^_*P{W)9lEGwLik zMGMx5%wMgrP3AZGLD?xy$0TI7N8z(Fn=LqJ0;lW-%QXWseT~9SneKK=fm1BH(@ts1 zStZe{@Hvs_C^+{!C4co~zd}wXTW1_$6N}d>Tqi?qRU8@2D|}uC+iMgudcDFIWK_i$ zmx(Vbd`Tu!(VA)8fE!cTr!a{9M5(*;_Q_diDj>jqx8w!~c*cGG<89!N7I8qD#%@-) z1qW%&cY>oj9=iM121Nh3$R1MoDh`LT5 *BlxPi%@u2VFb5wZ5pNz~@=I>Ux2ltY8+CaqS#GE^VW(A^P;IVbrj2@>M1OU>K3Xt+;dsM7wrtS<3eI!QDI38 zbn3O&p2r!5WzkLRmGyi(zKsV`_>RJN@!+a}99#ASXP$BBEix>-!$5Pr{4qW|ddK!W z?|Ty-R(J&8W2AA>Fes-*XbxvzRyZ%S8P3KXl|@S^@T$UVB9PYV+8bHE z{bzZRhP(oAY-ZFgIY$@gC!O*Md$P!p?5H(Yp%aXgr35=kF zo)`E**j-2bV6CT|aP7FFJlt!RfJj_O;KyavDH&OEot}L? zRvRj`df4L%;pd-t8giS&0Gn`dg_`k`4M#tsLk?ZKpwClAGOhR|jZg9C6#gRq{;P$Z z^=H>DEqQZJluW~rJWNopylmlIJQyRva8tu}sZezMoui&Nx41C4Hg;kos}xTxFE|GA zQ!)845e&uyGBPn_7mH(V;0$tyBc+m49xB?t@AxVF-NLRldorP>@DB^y{S~?`I@l(CBO3QE%xhj@4@;5e>CBBwyk<_Gk(S2Dipx4@dm#vFhQ~vh0kr~*4xaDnbBJR$;Mno1Hk#gOgS6;-Hq&sgQ*^M!x z*4m-9O3g_dmgI8-$W=*@{YDVhGbWI$k{~w|1LGEY(B9DZCuxc@Y>`H>1FoLiIG=c0& zf}AACT@66wl@bsZ2?mh9B*@)H5SEc9kiI0yeFU)^fXFi`AgnqJAOlH|f)Rv;sR?8t z2{J`sC#5ae_N5J?mQ!eYt*vL^`=7(rMvn?Uv? zLCz3lxdDh|Dgj~9W&qin1bM&+!us0;vNs9x5J4Vp03xYUK=>zQWb0!-rIIL5<=)4a zbJ?#{a8u5zU`U#;d=E;?1gH>97ez>$8Yf;s6+6`Ynn zsNkD*zytgj0+^#)@O{<-kMip=zWI;yoqYm5EX;fHB(B9%xSqxNK0M8Y{0tM#vp9|) z@z1rhv12(^OWT9Bw0$|smJ@m_1OJDeJjb0p&#d+Wv)WJi|BV;173Z*>k-rN+!vJ1l zu6vo;?%9SE-Sax#@&^B%@+SX>ae*Lj;Wicv z6D$|%Ra5o&oAEoHjDHWQ8+wWVF{9}n-TqOx7j^r-Za>iNhqy%9H0Az=%lId@{uk(( Br9J=v diff --git a/out/production/Java_Petit_projet/items/Equipment.class b/out/production/Java_Petit_projet/items/Equipment.class new file mode 100644 index 0000000000000000000000000000000000000000..71419ffd55854203456807ce3816ddeea49f2214 GIT binary patch literal 335 zcmZ8c%TB{E5FDpY10ggN_yKM$2mAp=9H>AXA~+P~?u1qADsdoj_%BXK9QXh}3bBqV zkdUSE?9M)BzrH^{0bJuWMu1TSnIObi;ApE~wW_pTtA}Dsr4txm8f)B@z-TtlBkT#J z#!=m=o0r}^*JQayT3wUCarW1~a;>rJ1#8RZiM2E{mhStyp!QK0)ll7(y2^EHe7s9a zw=tc-H2b%M2ZiJpvd3Arp|+t;-SM}W=K}Gn>D!WSjh{RDHFn|c$TLKIBp~?hBW4yb p<8v7gI8uWGgy-)NZ-bmLdYO|rWK4E^f)tQ!0aMQM!HfY;egK1#Mi2l1 literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/armors/Armor.class b/out/production/Java_Petit_projet/items/armors/Armor.class deleted file mode 100644 index 1c347ae16d9ab07918a5d8690f4e628a0bc09bc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmZWj%MQU%5IxgYOO;CF11z!747gy>rqI?HttPYe;9S-z8m zFi|JDJZBrJ*J5*IB}($GIHp1?lmA4g+^d4nPX1R7`Ti#dwCGw**63=ZNVoDMwx n)EKezugo=$V&;$1zk#kSSnwH5*|gOegI^q=!5N{+Xd!$9A6YZ| diff --git a/out/production/Java_Petit_projet/items/chests/Chest.class b/out/production/Java_Petit_projet/items/chests/Chest.class new file mode 100644 index 0000000000000000000000000000000000000000..5b1b9364cff4e8816c917ff7926ab095a423d0a2 GIT binary patch literal 265 zcmZWj%MQU%5Is|+RH=v`u){(>fLIV#jSaEC>L#veOMC0TtRxmbz(*qKSr%sKOX zzU~hIQ?y)IC^@h_lu;r0O3OG8=I274Vwq?{WvmjVCxlY3zj06{w7)&kUgkOvW+o8q zS-O)vAF4zyi+C%uwb&k6X@_YfjvJ9F!+)Z!_bMlJ!v9qxg1btKERqXl=H1VM;Xz!4 r-G#&N8Y6aon6btz_;8>+xPh)LSa2ClnMKqYy=+wSbev3u2?_ zWBfS|=W#L(PmNZ|bm*gnZ5M5c8@MUZU`qlR`nxR0Au5$HBpcOu}(*+`~i8Bnx>v9^o;M0s(p@>YR65i_W0GL~}4$;#SLlzr>!M-t~Ca{f}-l g)M9E3Z1HE=XETf6xki+DhM|uE8wfn%Y6VaK0(7{IWB>pF literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/chests/MailChest.class b/out/production/Java_Petit_projet/items/chests/MailChest.class new file mode 100644 index 0000000000000000000000000000000000000000..5c030b55419cfa3ce21ec6bfe76a89db982066af GIT binary patch literal 682 zcmY+C-*VDG6vn@WKvLKOMWz3h{!s&H^8mEHD4k9_gT1N4jWbd>^a}>+q0WLe}DZ3aE7B2a>(1TBnl`B)Rm@b;teO1=)~)pMWA@B zLZwdy@@{M3z!9kRBCV-8qUJka1py^1D4}daO01$H&{)Elo(yG${*>6J|Iz>Adx0O0 zy&D~?aNI4ShBX^?i6?j}P@Yg6QQ}?lBH$#XGs3#tUxKIG-PXY98xrf-5GajFpVK{s z348IOuS{`EVjDYLWY(f+xmOR;=MpcBRHo9enqsBD8QGr1zLCjPmK6l7UNmBOwXZ_D zo=xv4e(&D}>1ff=4+eg$OrC98dZH46jpd^+?xibGpwBb)iEq~JKboB9Vk@&Du)0*> zIc}m^JfsU{Tq_IKk-1sy@q6U>g~5^GC~`dD>?F;Ba{DJlyKeu$%J;PCkYfdTjzw6o zS?=H^XOe~7j#qfitALAEhWfzW#$vnEo}=37%<-&Ny`5vzeC|4)DzA`*(Kz`_Io`0AAqOLj_eAjzkT0fwnfZ$im5-GLwZTb`hvQ z(Xlqq1gb%A+(1LXf1WP#l)6*uUPS6Lrww>$x{wl^*b?ZhVctf{5G#^Yz=_p@*k|-f zeO6(l;#qiRQXS8R9(-JL(U!Q5ZGq;T(uA_`H7^2!i znKHaJ(lNcs7w43|Q|D1JS~5}5Sf$$L<)&liIuqDkKl<{`&v<8DEZur|Dme{qQw|#HAM0dq* hGu6^+{EztTw1-x~-??Ixe5Rp~0Xqmh;{FOA{{_*di;(~T literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/chests/RobeMage.class b/out/production/Java_Petit_projet/items/chests/RobeMage.class new file mode 100644 index 0000000000000000000000000000000000000000..a874537f220549428e26ba0ff11bdb18de07c76c GIT binary patch literal 745 zcmY*X%aYPS6g>@rWT2TKI^g(ZUK&6rzILb!$FigfT{sqN1GJ&7kZ96a`dKc-Di?l$ zA7y!OhEdquN8fwSxqZ8T|M~d~z%x9mpn#$cOQM9bKtmff&-}?uWhV1a*a?&$>sXto z0!6Pga^MKaH_2GFr>gxb2-OxUsM?ScHEav)Y*26`HwjpAFeld-eh5AXeiX!^e`-=4 zhy4obxL~6paS@jUsxy@)D)V2G6L2zRR&%tx;Rbhp-0zGS-;`+KvOpzN=DB*W;*7Lt z-T@b{NLd}Y|4#6H7h4qGc6N*po5CBz^$DvETd z;)!C=Z3&M-E`io-w1AUjN<+Cr9jn)i`BqWmvEY?x07RBp|ip4(^f{IEKHX($vioN4@S6Zm+k* zjx$|im!s<(wK+PdyYH5`^*& literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/helmets/Hat.class b/out/production/Java_Petit_projet/items/helmets/Hat.class new file mode 100644 index 0000000000000000000000000000000000000000..d09f6e1d01fe712c1d4bc06885a6c19ac852d680 GIT binary patch literal 727 zcmZ8f%W@Jy6g>?CGe9SkkOak7%tIX@$@to#F4VF@6_rg=tnH8vv^C7=Op}VA&EIy7LIi^(KZVY^Hrey z!os0$TFDjtQ$HZ}36Tg3`i zUDPGkur5#=>on2qm?i?1Oxxey&7i*^oHx~N4OpTfaRWC6sv~XR>T?}uWJg{07`!EM z8+QmKxj^scG*BsQ7q6SWsx9YtoOkOho8*j|^7|&%N7KovPEXWnlusoYs%W56!}WaAv15}7tSw$z*{(oIf0~+) z0xLoPpLx+J$b~lqmi`0i>c`169qM<64Ly3a1AYl?(bE;^2Y@2UqD-+x)yupFYVEHO z?Yet~%9s35o8mHx6w7en65T_GDoI2-jy>$tDsX^sE;XjpY_Z#E&)|1DGi-S8XJ~SE wm$Unv?RaN1JpAj?pk`RLM1RUB$0o%cnk{=ZuJz_#q>RUSLT&<22`%8+FM4`vj_Wb@#l7!|6I zO=9d*g|gor*HGh?0}AIc)zLuHh1OWZx&XOyKRu34&3&&mGw-}FakmB|jeW0B}+T*M`X#+2*}I-w+IJ3i@9id!0& zafOR4_owLi!&CH{#&tn;fqt}<8T(1FZH=3P=>l6R>}u=@;W05xEJcx-QZgZdZfp1g zc?_-AxChVEV?LBOG6}t!$48XC4v(UuE9oSR#$je8UoJX!W^#Uv|6F>YP@(s8^G>1V zk5(GSyIsI v#|zw$*^bO^{WaSLN9DZrmulA2qr?^;-zS&*BWS29uMDFAT&35Ngx delta 21 bcmeBU>SUTA$<38nlA2qr?+GL)YCZ)3MzRN4 diff --git a/out/production/Java_Petit_projet/items/helmets/NoHelmet.class b/out/production/Java_Petit_projet/items/helmets/NoHelmet.class new file mode 100644 index 0000000000000000000000000000000000000000..e3140acfe972281a4e83a49ebb1e36854e787a33 GIT binary patch literal 536 zcmZ9I%TB^j5QhJO(n4DV5fQw*15E4#pe!^oE*chM*cUv3V|vlH_+Bp5#Dx#wLm8(n zjpAk|bNRo2&iVTO_yll?V;uz)H7F)ZPzg;L3oo)3!u3QPSvP4WsOQp`@sLpL_9kVN z3CgV$eg!%V4W@}IHVCbC@hHgUitl)W(6AqzXUB3Ke{PNAQ2O(Mjyg6qG)!!vNiY^7 z3`F7^282o^;vCWG+UxXeFz8MAmaE{N@ikleVzl(8BD`~^ZfY3J9CzY`GO1ThC0@vg z(Ei8EuN@Fd;%O-#3H7f1=bp?eX%MPw1A;ydmf=iX%fz*sqt24&;)Fk`z@H6{%!bNw zo2!eo28{kYsNc|DQF%$1S{ye}u96HnXrq!6>7++#6msozoGU^ a$&3v)HB&+>+gcG4{yq+vK{#Y}0Y^X86KfR! literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/Weapon.class b/out/production/Java_Petit_projet/items/weapons/Weapon.class new file mode 100644 index 0000000000000000000000000000000000000000..1460df643a0826d06275703b45d1af100a4c3b47 GIT binary patch literal 270 zcmZur%MQU%5IxhDQuT<4y&V?%0mOo^YHSGWTW;ctw)DYwSxGE>fR7T>vNV&NnR8}x zW?t{d6Tk!w3mSA2hK&M>gt|(kA3L*is!qNP5<+pL0+oyjdbhVWQ6jXyJ69=AVGui; zyb_FQxRdPQsz5GM-;>cwct=*6Znzc4wTM*4f1;7>RZM8R|ICI2YZ<1|R?b!CQ2E{% u9K=N!9hm%c7R1S4GnSb-IR^^;JLtxO28%Hpvxo|#{p)R1nGtG?8tNYg&p15* literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/systems/Game.class b/out/production/Java_Petit_projet/systems/Game.class index 4cfe69980168f33051c3717aa93a17b4113b7799..03601f04676e21cafc5b4dd1c00502124d70fe5b 100644 GIT binary patch delta 4365 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 delta 853 zcmYk4S!_&U6vuz(o2ibOb~>ijm73PnGNrVnilVhtNEHoY53R9w(?vW;yopE%u0$f5 zh!^4sO&amwrKx@2_kE27;fdJJy)9{S@44rm?|kR{{^$GlRD6qgFaAD#2AItI6W$q~ zg8X@n9Y>o&RqLX4!$Qq1p=eX6p|RswbExA`sJgzkHd;XDxhJ*!Bbhev`-ypqt1CtjZNESBeSRPw@_lyEbK*Fug}8p!m9 z%j@emv^2!>)|wcY;BzCy&`WJ++qS?Eso<=lM)0bQ$BmC5e$q)Gn}Ejqh?}7JNRmYQ zN(!l*)68THNGj*K;OzdyMJ{R0%hu06O5NEuG*~KIozexwX-Wnj`f0)bYBLElKs;ng z9NCgUSTe|w90o~*!7@^t+ASiuHRj_AR}~n^?`{^5EUr1t!V=GQ^$eFaKO5g4nu&=e zF_v8Wu|6cG*(~m)1*VH-IVqYsTv_szWd!%h=M@EfWE7tn%~uNf#Tbd9NP06?`Npf{ zVi~{$8AyrbQYs^uEX7QbsZ5n}rkNtjObOG?G-mwc22<8eYkRhW6d_;=xnbk#wjU0- zOXu|^d0Zl$;M#&qj|J0ulGNZHt0I`$wj`y*NXg!C#@6wQ?Y#D4M?0CWQ_MVqCz9LF zt`oZGa%R1nH1*3>-z?QvApz#-Z09O_r3_-8&TzhrWr6Z9l<6#z*({bymdY}gNt6{* z%SzcumF%Ee_OeP25H;IbV@h|k*6d@Q+0S}&keVJsTmK7fb%feFcXl0%91s^bRk5ve rb9#P}|GQo=7q^traGN{&P166zdU5VL_P%2u@={m48hynZ-jVhfQcSFT diff --git a/src/heroes/Hero.java b/src/heroes/Hero.java index f53582e..a0a14bd 100644 --- a/src/heroes/Hero.java +++ b/src/heroes/Hero.java @@ -2,11 +2,19 @@ package heroes; import heroes.jobs.Job; import heroes.races.Race; +import items.helmets.Helmet; +import items.shields.Shield; +import items.chests.*; +import items.weapons.Weapon; public class Hero { protected String name; protected Race race; protected Job job; + protected Helmet helmet; + protected Chest chest; + protected Weapon weapon; + protected Shield shield; protected int healthBaseLevel; protected int strengthBaseLevel; protected int dexterityBaseLevel; @@ -68,6 +76,38 @@ public class Hero { return dexterityBaseLevel; } + public Helmet getHelmet() { + return helmet; + } + + public void setHelmet(Helmet helmet) { + this.helmet = helmet; + } + + public Chest getChest() { + return chest; + } + + public void setChest(Chest chest) { + this.chest = chest; + } + + public Weapon getWeapon() { + return weapon; + } + + public void setWeapon(Weapon weapon) { + this.weapon = weapon; + } + + public Shield getShield() { + return shield; + } + + public void setShield(Shield shield) { + this.shield = shield; + } + public void setDexterityBaseLevel(int dexterityBaseLevel) { this.dexterityBaseLevel = dexterityBaseLevel; } diff --git a/src/items/Equipment.java b/src/items/Equipment.java new file mode 100644 index 0000000..0cf2128 --- /dev/null +++ b/src/items/Equipment.java @@ -0,0 +1,8 @@ +package items; + +import heroes.Hero; + +public abstract class Equipment { + public String name; + public abstract void equip(Hero hero); +} diff --git a/src/items/armors/Armor.java b/src/items/armors/Armor.java deleted file mode 100644 index 3d33b33..0000000 --- a/src/items/armors/Armor.java +++ /dev/null @@ -1,6 +0,0 @@ -package items.armors; - -import items.Item; - -abstract class Armor extends Item { -} diff --git a/src/items/chests/Chest.java b/src/items/chests/Chest.java new file mode 100644 index 0000000..7abd8dd --- /dev/null +++ b/src/items/chests/Chest.java @@ -0,0 +1,6 @@ +package items.chests; + +import items.Equipment; + +public abstract class Chest extends Equipment { +} diff --git a/src/items/chests/LeatherArmor.java b/src/items/chests/LeatherArmor.java new file mode 100644 index 0000000..b504a21 --- /dev/null +++ b/src/items/chests/LeatherArmor.java @@ -0,0 +1,15 @@ +package items.chests; + +import heroes.Hero; + +public class LeatherArmor extends Chest { + public LeatherArmor() { + this.name = "Tunique de Cuir"; + } + + public void equip(Hero hero) { + hero.setChest(this); + hero.setDefense(hero.getDefense() + 10); + hero.setDexterity(hero.getDexterity() + 5); + } +} diff --git a/src/items/chests/MailChest.java b/src/items/chests/MailChest.java new file mode 100644 index 0000000..473b33e --- /dev/null +++ b/src/items/chests/MailChest.java @@ -0,0 +1,15 @@ +package items.chests; + +import heroes.Hero; + +public class MailChest extends Chest { + public MailChest() { + this.name = "Cotte de Mailles"; + } + + public void equip(Hero hero) { + hero.setChest(this); + hero.setDefense(hero.getDefense() + 15); + hero.setDexterity(hero.getDexterity() - 5); + } +} diff --git a/src/items/chests/PlateArmor.java b/src/items/chests/PlateArmor.java new file mode 100644 index 0000000..b5a0274 --- /dev/null +++ b/src/items/chests/PlateArmor.java @@ -0,0 +1,16 @@ +package items.chests; + +import heroes.Hero; + +public class PlateArmor extends Chest { + public PlateArmor() { + this.name = "Armure de plaque"; + } + + @Override + public void equip(Hero hero) { + hero.setChest(this); + hero.setDefense(hero.getDefense() + 20); + hero.setDexterity(hero.getDexterity() - 10); + } +} diff --git a/src/items/chests/RobeMage.java b/src/items/chests/RobeMage.java new file mode 100644 index 0000000..3fb301d --- /dev/null +++ b/src/items/chests/RobeMage.java @@ -0,0 +1,16 @@ +package items.chests; + +import heroes.Hero; + +public class RobeMage extends Chest { + public RobeMage() { + this.name = "Robe de Mage"; + } + + public void equip(Hero hero) { + hero.setChest(this); + hero.setDefense(hero.getDefense() - 5); + hero.setDexterity(hero.getDexterity() -5); + hero.setIntelligence(hero.getIntelligence() + 15); + } +} diff --git a/src/items/helmets/Hat.java b/src/items/helmets/Hat.java new file mode 100644 index 0000000..f142e5e --- /dev/null +++ b/src/items/helmets/Hat.java @@ -0,0 +1,17 @@ +package items.helmets; + +import heroes.Hero; + +public class Hat extends Helmet { + public Hat() { + this.name = "Hat"; + } + + @Override + public void equip(Hero hero) { + hero.setHelmet(this); + hero.setDefense(hero.getDefense() + 5); + hero.setIntelligence(hero.getIntelligence() + 5); + hero.setDexterity(hero.getDexterity() - 5); + } +} diff --git a/src/items/helmets/Helm.java b/src/items/helmets/Helm.java new file mode 100644 index 0000000..56abe9a --- /dev/null +++ b/src/items/helmets/Helm.java @@ -0,0 +1,16 @@ +package items.helmets; + +import heroes.Hero; + +public class Helm extends Helmet { + public Helm() { + this.name = "Heaume"; + } + + public void equip(Hero hero) { + hero.setHelmet(this); + hero.setDefense(hero.getDefense() + 15); + hero.setDexterity(hero.getDexterity() - 5); + hero.setIntelligence(hero.getIntelligence() - 5); + } +} diff --git a/src/items/helmets/Helmet.java b/src/items/helmets/Helmet.java index a5a41b8..0ccc7d7 100644 --- a/src/items/helmets/Helmet.java +++ b/src/items/helmets/Helmet.java @@ -1,6 +1,6 @@ package items.helmets; -import items.Item; +import items.Equipment; -public abstract class Helmet extends Item { +public abstract class Helmet extends Equipment { } diff --git a/src/items/helmets/NoHelmet.java b/src/items/helmets/NoHelmet.java new file mode 100644 index 0000000..75a9692 --- /dev/null +++ b/src/items/helmets/NoHelmet.java @@ -0,0 +1,13 @@ +package items.helmets; + +import heroes.Hero; + +public class NoHelmet extends Helmet { + public NoHelmet() { + this.name = "Rien"; + } + + public void equip(Hero hero) { + hero.setHelmet(this); + } +} \ No newline at end of file diff --git a/src/items/weapons/Weapon.java b/src/items/weapons/Weapon.java new file mode 100644 index 0000000..044266e --- /dev/null +++ b/src/items/weapons/Weapon.java @@ -0,0 +1,6 @@ +package items.weapons; + +import items.Equipment; + +public abstract class Weapon extends Equipment { +} diff --git a/src/systems/Game.java b/src/systems/Game.java index a64ef1b..766a214 100644 --- a/src/systems/Game.java +++ b/src/systems/Game.java @@ -3,6 +3,12 @@ package systems; import heroes.Hero; import heroes.jobs.*; import heroes.races.*; +import items.chests.LeatherArmor; +import items.chests.MailChest; +import items.chests.PlateArmor; +import items.chests.RobeMage; +import items.helmets.Hat; +import items.helmets.Helm; import java.util.Scanner; @@ -48,17 +54,14 @@ public class Game { case "guerrier", "g" -> { hero.setJob(new Warrior()); System.out.println("Tu as choisi la classe de guerrier !"); - hero.printStats(); } case "mage", "m" -> { hero.setJob(new Mage()); System.out.println("Tu as choisi la classe de mage !"); - hero.printStats(); } case "voleur", "v" -> { hero.setJob(new Rogue()); System.out.println("Tu as choisi la classe de voleur !"); - hero.printStats(); } } System.out.println("Voici les caractéristiques de ton personnage :"); @@ -100,10 +103,150 @@ public class Game { String choice2 = scanner.next(); switch (choice2.toLowerCase()) { case "oui", "yes", "y", "o" -> { - System.out.println("Très bien, tu es prêt à commencer l'aventure !"); - System.exit(0); + System.out.println("Très bien, Et maintenant, ton équipement."); + equipHelmet(hero); } case "non", "no", "n" -> selectRace(hero); } } + private void equipHelmet(Hero hero) { + System.out.println("Veux-tu équiper un casque ?\n1.Oui\n2.Non"); + String choice = scanner.next(); + switch (choice.toLowerCase()) { + case "oui", "yes", "y", "o" -> { + System.out.println("D'accord, lequel ? Un Heaume ? (H), un Chapeau ? (C) ?, ou rien ?"); + String helmet = scanner.next(); + switch (helmet.toLowerCase()) { + case "heaume", "h" -> { + hero.setHelmet(new Helm()); + hero.getHelmet().equip(hero); + System.out.println("Tu as équipé un heaume !"); + } + case "chapeau", "c" -> { + hero.setHelmet(new Hat()); + hero.getHelmet().equip(hero); + System.out.println("Tu as équipé un chapeau !"); + } + case "none", "rien", "r", "n" -> System.out.println("Très bien, tu n'as pas équipé de casque."); + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + equipHelmet(hero); + } + } + } + case "non", "no", "n" -> { + System.out.println("Très bien, tu n'as pas équipé de casque."); + } + } + hero.printStats(); + System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); + System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); + String choice2 = scanner.next(); + switch (choice2.toLowerCase()) { + case "oui", "yes", "y", "o" -> equipArmor(hero); + case "non", "no", "n" -> equipHelmet(hero); + } + } + private void equipArmor(Hero hero) { + System.out.println("Veux-tu t'équiper d'une armure ?\n1.Oui\n2.Non"); + String choice = scanner.next(); + switch (choice.toLowerCase()) { + case "oui", "yes", "y", "o" -> { + System.out.println("D'accord, lequel ? Une armure en plaque (P) ? Une cotte de mail (M) ? Une tunique en cuir (T) ? Une robe de mage (R) ?"); + String armor = scanner.next(); + switch (armor.toLowerCase()) { + case "plaque", "plate", "p", "armor", "armure" -> { + hero.setChest(new PlateArmor()); + hero.getChest().equip(hero); + System.out.println("Tu t'es équipé d'une armure en plaque !"); + } + case "tunique","tunic", "t", "leather", "cuir" -> { + hero.setChest(new LeatherArmor()); + hero.getChest().equip(hero); + System.out.println("Tu t'es équipé d'une tunique de cuir !"); + } + case "mail","mailles", "m", "cotte", "chest" -> { + hero.setChest(new MailChest()); + hero.getChest().equip(hero); + System.out.println("Tu t'es équipé d'une tunique de cuir !"); + } + case "robe","mage", "r" -> { + hero.setChest(new RobeMage()); + hero.getChest().equip(hero); + System.out.println("Tu t'es équipé d'une tunique de cuir !"); + } + case "none", "rien" -> { + System.out.println("Tu veux VRAIMENT y aller à poil ?"); + String validate = scanner.next(); + switch (validate.toLowerCase()) { + case "oui", "yes", "y", "o" -> System.out.println("Ah bah d'accord le nudiste ..."); + case "non", "no", "n" -> equipArmor(hero); + } + } + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + equipHelmet(hero); + } + } + } + case "non", "no", "n" -> System.out.println("Très bien, tu n'as pas équipé d'armure."); + } + hero.printStats(); + System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); + System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); + String choice2 = scanner.next(); + switch (choice2.toLowerCase()) { + case "oui", "yes", "y", "o" -> equipWeapon(hero); + case "non", "no", "n" -> equipArmor(hero); + } + } + + private void equipWeapon(Hero hero){ + System.out.println("Veux-tu t'équiper d'une arme ?\n1.Oui\n2.Non"); + String choice = scanner.next(); + switch (choice.toLowerCase()) { + case "oui", "yes", "y", "o" -> { + System.out.println("D'accord, lequel ? Une épée (E) ? Un bâton (B) ? Un arc (A) ? Une dague (D) ?"); + String weapon = scanner.next(); + switch (weapon.toLowerCase()) { + case "sword", "epee", "e" -> { + hero.setWeapon(new Sword()); + hero.getWeapon().equip(hero); + System.out.println("Tu t'es équipé d'une épée !"); + } + case "staff", "baton", "b" -> { + hero.setWeapon(new Staff()); + hero.getWeapon().equip(hero); + System.out.println("Tu t'es équipé d'un bâton !"); + } + case "bow", "arc", "a" -> { + hero.setWeapon(new Bow()); + hero.getWeapon().equip(hero); + System.out.println("Tu t'es équipé d'un arc !"); + } + case "dagger", "dague", "d" -> { + hero.setWeapon(new Dagger()); + hero.getWeapon().equip(hero); + System.out.println("Tu t'es équipé d'une dague !"); + } + case "none", "rien" -> { + System.out.println("Tu veux VRAIMENT y aller à mains nues ?"); + String validate = scanner.next(); + switch (validate.toLowerCase()) { + case "oui", "yes", "y", "o" -> System.out.println("Ah bah d'accord le nudiste ..."); + case "non", "no", "n" -> equipWeapon(hero); + } + } + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + equipWeapon(hero); + } + } + } + case "non", "no", "n" -> System.out.println("Très bien, tu n'as pas équipé d'arme."); + } + hero.printStats(); + System.out.println(hero.getRace().getRaceName() + "\n" + hero.getJob().getJobName()); + System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); + } }