From cf1a8e9cc316196221d514b4e013cf16f1bdd79c Mon Sep 17 00:00:00 2001 From: Grough Date: Wed, 11 Sep 2024 14:48:03 +0200 Subject: [PATCH 1/2] 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 zcmchb?SE896~})!KsH&XB-s!MwnC&3lTBqUN*@SfArTV{6bS`{R(q4Z&2F;U4SR1W z(W`9LL=goD%zuzY8?u6rRk=2v+RvS;k+1@C^VtjLd!e}&SUwxvA}i5zewqW?62bDVU%P=S;dOzbzXn{d&LNsL+LO3yVfGj!V&{fv9e}sXpn|f;|cs;Y~Dpy<<-m z@>QdL+fD7${aQAq@Mc_0SvQk)a_Oq9-*!{Ox?jt_Md7WombPr(b8@-tn3ErM<}BwD zg-b=EIqh8MM(Nwyyc!+r3w0_b6P2y}qn?EBCJAeIXzAh4(AG2M1)I9gjZ8)2qmqosHfq zX0KMb2JfZEP;x-;RAq|^+BN7)U8`V=)KW_EPR(^ZF*B-=7J)Vj^w0A>k+@D_OeESV zF=#qb5y~ozi%_dJGxtzsJf|=Tx>#b&K+F9d6rm}FLt>Qbs2mvC6& zdQn?UwX%RH&M3TJ6x*n1UfK-`9~4ccse_9rsvlOkQB>QhT64`GQTV86H&Ht*BnCdF z@NqHFs^^}+AGavnD!Oq!vmS56r*K;gpH}z`K0C)Dhi6<~cKTsqnr_+VJ6g7o+Qm0g zuh^dC<5Y(`6h4Q~)6+Pq@0Clty63xPf=}`n6uyWrSy(=4PdI&r{HX2i%X%69ay>gQ zPh_Xbq30Wm<1TzThOa2xEf=CyU!%Ef1ey}kTwWl*s_-@0nMOkThn#?gW5V-wE{=|C znxqc*DST7(7E`Z$$_d&#CPwd9I4*-qZ+CEz2`unOPbfSnqfHzQA5;PheSwn-4~sxt ztLxK9Fi;)iMd~Z0d1IS~vUz9c^yG+B++&aA*pnD4jM}-qb}=jMpmU*@$#Uz?D~App zT>SI!Z+;ukBZwWLt4|HarO}BU_Ecb~o*?@Aw^kJ@_rJV%ek5q8gfSMB?~yOIqRTAR z&6lZxv+1xPPgB|2oNyseZ$)N#+0+~nF(hZ|2Mu1Gils<6@wv)k6|RU>*_osNwiRs()PtJ?~k!EgSGJ|u6D z7+~Rd{)U=ifAo8QM>p<2dt7^=^fcAu4{`hve~RJHa!dYVVNEqyW%Gv%6HbsX`4@Q` zK?}th3rE9OI1uy~HDKq{ImcZyR47bLPxa2faiN|$ihE|J9E145kh~v0d&Ac_Fwtk{ za>Ml1UaoL3pLdFVIoov|H-^7kSUYb`Ce#@IX<_C67G?DG*Ts~oj!_=JzX=e(lv7?T{9)pHPankGpW-xlQ&&6P17|~99=V!(KT}xT{BV9HFFbPGaJ!0 zlMmKw`PT7`X89;vDb^P2Majoto#c-?JjSwKcdo=K{#L#KN_d@WWkcq#C?+3QRAh9S&rxAoXO`yD=6UdZJ0ut*v zhlZYH35$hjfnJZivp|yb_Hg?z!V;_tku_Dwn)KmVnAMur654+PPZ|(gqKFq85t&Ju z5L?QKZBfJxM7)F$mlE;v8i?XIa}b%=7!cb}a1r6-++;*#3Ku9>kMsOfXpbJ}6(rjd zBC4-!TD^RB(1s;hk^$s`C`i8%gju2q5PJ0O^|D9 zfXIs^AkW~O0VEj(xz-5sES@ugB%>f{f;crm_V+8pzUNnKMi-P0` zGFbye-edvc7t1_byfv$$wx($7Pz_u1j*Bhk`GKwQBe*{5te$aE{4g?stdD{mA;?S( z5D6p#!tVtG$c8A$4Mq@te3?KtL_uyO$W1jsB$5dT({lsJWl@lujUfDhGl5(d1-XSF zx7GlWP%0qI_YEMuQIOk=Ap9gWf%HZ}ZYRhcH9#bm3kbh03?Q4MAa@!;_=RZ#*&GEq zN|3v1fJibSApDFmfNY6^+-(Hm$EpcrOBCc@f*h*>BH4_9@N>xk(jNu6&j`XVUlT}w z6y$z_9IpW)>6C!*&zr#3X@*-#rVb__$2*gW9VJ|uv`QG3Vqda3UE)Y{yoC4ZazvMo zE;C8yD-$IYq%M{)E%lKSJ|OjnO1Metn@jja6>u~EX#^f%VsnD| z!QJV^BTRH2#d;<{8@Yt7jMv+l!tG|#b%1GCHMKh!L~>b5Ikh_%WK;+AQhNRmD|vz| zd6JpWX=XlW_&4ZNSiw-bia~HK!(b22^5uP+InguBLe4P(c$SIibNs97`OxtksN^IE zcyNA-`IE}=+*3ZDNAO8*=k2q&6I3|rH}9Fny`kneX7R01^V_rdPN@07EO)!A`_L>m zTbkA5S&0~r=S3dN&-kzFON?JHV-sHC7Qf2vf6cJ{3-D8F)KUH=)}6%vJ-z8=UB0Tz 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"); + } } From fa90d6fc675cc12dd37f69206df753c60f22af52 Mon Sep 17 00:00:00 2001 From: Grough Date: Thu, 12 Sep 2024 11:48:10 +0200 Subject: [PATCH 2/2] Debug adding stat from race adding weapons --- .../Java_Petit_projet/events/StartEvent.class | Bin 0 -> 265 bytes .../Java_Petit_projet/heroes/races/Ork.class | Bin 848 -> 1015 bytes .../items/weapons/Fist.class | Bin 0 -> 674 bytes .../items/weapons/axes/Axe.class | Bin 0 -> 276 bytes .../items/weapons/axes/TrainingAxe.class | Bin 0 -> 784 bytes .../weapons/staffs/ApprenticeStaff.class | Bin 0 -> 673 bytes .../items/weapons/staffs/Staff.class | Bin 0 -> 286 bytes .../items/weapons/swords/Dagger.class | Bin 0 -> 691 bytes .../items/weapons/swords/Sword.class | Bin 0 -> 286 bytes .../items/weapons/swords/TrainingSword.class | Bin 0 -> 728 bytes .../Java_Petit_projet/systems/Game.class | Bin 10001 -> 9495 bytes src/events/StartEvent.java | 4 + src/heroes/races/Dwarf.java | 15 +- src/heroes/races/Elf.java | 15 +- src/heroes/races/Human.java | 15 +- src/heroes/races/Ork.java | 16 +- src/heroes/races/Race.java | 5 + src/items/weapons/Fist.java | 15 + src/items/weapons/Weapon.java | 1 + src/items/weapons/axes/Axe.java | 6 + src/items/weapons/axes/TrainingAxe.java | 16 + src/items/weapons/staffs/ApprenticeStaff.java | 14 + src/items/weapons/staffs/Staff.java | 6 + src/items/weapons/swords/Dagger.java | 15 + src/items/weapons/swords/Sword.java | 6 + src/items/weapons/swords/TrainingSword.java | 15 + src/systems/Game.java | 345 ++++++++---------- 27 files changed, 297 insertions(+), 212 deletions(-) create mode 100644 out/production/Java_Petit_projet/events/StartEvent.class create mode 100644 out/production/Java_Petit_projet/items/weapons/Fist.class create mode 100644 out/production/Java_Petit_projet/items/weapons/axes/Axe.class create mode 100644 out/production/Java_Petit_projet/items/weapons/axes/TrainingAxe.class create mode 100644 out/production/Java_Petit_projet/items/weapons/staffs/ApprenticeStaff.class create mode 100644 out/production/Java_Petit_projet/items/weapons/staffs/Staff.class create mode 100644 out/production/Java_Petit_projet/items/weapons/swords/Dagger.class create mode 100644 out/production/Java_Petit_projet/items/weapons/swords/Sword.class create mode 100644 out/production/Java_Petit_projet/items/weapons/swords/TrainingSword.class create mode 100644 src/events/StartEvent.java create mode 100644 src/items/weapons/Fist.java create mode 100644 src/items/weapons/axes/Axe.java create mode 100644 src/items/weapons/axes/TrainingAxe.java create mode 100644 src/items/weapons/staffs/ApprenticeStaff.java create mode 100644 src/items/weapons/staffs/Staff.java create mode 100644 src/items/weapons/swords/Dagger.java create mode 100644 src/items/weapons/swords/Sword.java create mode 100644 src/items/weapons/swords/TrainingSword.java diff --git a/out/production/Java_Petit_projet/events/StartEvent.class b/out/production/Java_Petit_projet/events/StartEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..6c81f6c1274ca0745a55f685672bf0479b1f8c4f GIT binary patch literal 265 zcmZWj%MQU%5Ixg}Ql%bWV26c%0I?vf8XIDNaT8anP1?(USxGE>fR7S$rHO@^+2zc$gCvBp zO6BTu-pPC;b_pw;INOV4D{^IcDLVS73PLyj+cYNl>+F*6HD=M51Mct+y0KuvXEbHNMx8PE<}SwuGeVQmLihn84>oTA literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/heroes/races/Ork.class b/out/production/Java_Petit_projet/heroes/races/Ork.class index f46f594c1daf0d906a0869058f6cadb901676486..bb447b375ff73ea10207cb20d2c22a884daa4c17 100644 GIT binary patch literal 1015 zcmZ8g?M@R>5ItK8Ez2!k3RJn414D&kEr}#w_WZgD6JrS|g%rjOSZ5OV{0|1kx;l^>cAX>MGF_-1Iv<@< z+wq#E{lIs<=1Q?P%3Caj31nEOrJZ)rGGJ81J*6-$?qoOcwbu+<;=G`6QJjf}ey_c* z7T>JGCGm|m^rt}kZtz*Wa|)Nmt6VS8?Y7(0UR|5GiunZc3fFL*3M0`wY?}E^9qdFB z*lI<{Hx(98V2r(-#^Qxau_i%VVKKahiR>s8DgN6EOOhlXV9Hs0;>woBqPm?%DJxB6`o5{nn{B(1M$sHgY!vO zT~F`!jt;c{);Va?lc{#?@ zJSI`V6gJ6FEX4xY!V8`Tw(&A5{slv!`10c7F|OF(kbZZJ8v=?1lLWT}lnAl}_XIp3 zm?3y9V1*z@u=ZcoEL#KjKZP00@>$^CFH_S7=0Y{ulZufV`Mq~gp&kRTm>0wAf8O85 AG5`Po literal 848 zcmZ9K+j0^?5QhH&1hP!RApv7N#v=y}9ut-5MPgZ@ib|@C#kCU{VdG}0T9%Yv`Aptm zl@~sM4`uoHve6(HP4`TH{r7gyuirm@0@%T}g9MTpq%v$=#S=!FAk*;_&-kyfiLJQQS7wXER--XRzTkYAqAc#E$h{)&^~k*` z?wxFZimG^xfkr_2 Bu@3+M diff --git a/out/production/Java_Petit_projet/items/weapons/Fist.class b/out/production/Java_Petit_projet/items/weapons/Fist.class new file mode 100644 index 0000000000000000000000000000000000000000..ac0536316b7a0a0a60d941c59ef173421cf1455d GIT binary patch literal 674 zcmZ9K&2AGh6orqINhX=NNeHFTmYhXEU<2@o@UWUtuB%{i%#=V zp!~?h#y$}!hV4NG6@mJz#Kfa)=lnnojZUiwQ1c-r)=(E{tzwQ$W(B-hO*OUtJM}?D z6BUo56PuFK3(&+BA1#TiSQn^`b(-ibdci@UnrZvz9GhW(mAnvo?SVsVNLXyVdZc-)hQuV^)h55F`9cPv_Ki8kEPL2KSe7h2NolnyDS70~Kl5=*` z=$lx-oK4Sk`dXb$^8S*cnhaEGT)tfN?AT~ zSX&VUf|F#H4)u|76{`+&=x!Cee1`&G7L4Sg%(%zwah?OU&Nqlo%m0e%mweMcV;x1t zGCcUSS8$J+q>FngORfm*^Iu4pSnq a!N0M^Vh+EtKrHcup@S|92t1%#z{B4@MTe>Y literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/axes/Axe.class b/out/production/Java_Petit_projet/items/weapons/axes/Axe.class new file mode 100644 index 0000000000000000000000000000000000000000..9b714fd9b5791e7b7c89dbfecaea838b882228c2 GIT binary patch literal 276 zcmZur%?`m}5S*=6t4c*gT-|Wc2Ott8PK^uU{NYP{LMv_kyq1&1!2@_Gv6WsVc9WT% z+0E|0-j64M5h^w`TvU8FdMLF_HROvv|DpppS0*J>|JScLlTpt#D| z8(t+rABP(z*H?j@o(?M+&BbcZPSp?BV!sfPN_A%H$yUXLhW~$Ek6_QjQ?!;7mF}?k vM0Y37LT|$4&(k1I{++SF%KK`-=-fd!HZ<6bX`4+H8J(-J(TXwWYST3uxD`JJiIFn3520+Tg8Im@H#p7k3B6pXG&^ zc;OH5M;Xs7Bn9KmnK^UjdEc2c^ZU=wUjSa=se>HyHY|<;iVQWS2Io4VYTJQ_EgMyiYq-u(8OkK4)11-3P)?Iq12=-qfigCTXalym*W<0QpXN*r4ormIIaM53pv{{*LmuY*UlsCh`=EuwWBjLW?p^ zAZ^EeJfM-`6v0wT(QadL+-lC@wpw#+d(MYBcFgonX)s6K%nr@$-jzv>PGbZMB<<1X c+a=p0xS3gPA-FUnX*|RuvSWBmOb$=}0yQ0{{Qv*} literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/staffs/ApprenticeStaff.class b/out/production/Java_Petit_projet/items/weapons/staffs/ApprenticeStaff.class new file mode 100644 index 0000000000000000000000000000000000000000..49b201fb548ffe01dd690714685a7ab4abbac296 GIT binary patch literal 673 zcmZva&u-H|5XQer+&F*SCJiBwLg|0%Bocmr01~ZKHIl`pD7~^xx9L{SI@lX{AKsvc z28ja~ZafrXHt~T(z07)czxjQ$v;On<=Pv*!@XN>{@51r0h5}(r897daZ&FNRod&59 zH#cc;VHZN-t#8rMaB9N@)4vve)9E z*B)3z)59}7Csaq$^tF*uq()K?*^}?mw~8$fFYuBT%v@GDe!o2+IH&P7>#L#C^5b-T zC6iC$Dw=m44@EQ(iL!aN>6lxU5?-$~l?`-d06oH*{4!M&Ld_5VyCQeb#&(0SzH~q+ zU&Pa7D9@Dbp|L`IV+V;nevBNyGdQvZ3LLjNdpFO4O6LctQ+FRwx}S?)aoj+jV*w6a zE-zw-Gmi^dj$KBAzxQ#Fp+Z($i(0ocL$%wT;c4;n46RjOh3!35`LD3N=AtI!aWxKc M#6%t#pXPA<58O4AS^xk5 literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/staffs/Staff.class b/out/production/Java_Petit_projet/items/weapons/staffs/Staff.class new file mode 100644 index 0000000000000000000000000000000000000000..29cd1d4c5a70c2f986d38a014875ebcab6317e2b GIT binary patch literal 286 zcmZ`!yAA-~5F7@_LILdJpZA&VTLt`d3F{#A-o6l#B&G9fomp-P5?OuMsikS8>L2X!L0 zTkX#b5$tiak%UU1LODGjS2CW9)q$N_5Us^wA!23p*R+$J(u8L4e`TNG&Z2X?mJ?<6 yxapzZUR;FTg2O+UAWr^*vB1htHIVJzK{qxmxQwRFCW?&SxAstCMJO{`sC)qRf<83> literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/swords/Dagger.class b/out/production/Java_Petit_projet/items/weapons/swords/Dagger.class new file mode 100644 index 0000000000000000000000000000000000000000..38beb32f72f5f57e0fa8dc3e58d2051078740677 GIT binary patch literal 691 zcmZva&u$Yj5XL_zn{58LO$bnELV@yklR)qcFV3q;juUn zBn~_P4~6)=8&Qh5j6I(De&ZSY=dbTS06fQD10|GwcoG#<1-i!SMHZfEb(+Lkn4Kl* zNfu7rB2ax|Vq>2Pl!N}XhMGWSUqwq@M*~eCQep#}0=@q-m>KC*z>C#F3v|Zs)khW1 zRUCyAo0>QpHPFT-A03IyxFXP;=`_(<_=<}_J=69uzm>ptFuqu#2#oquhuD(1hU?Tv z+LEl}$j>6@j^=rP$+4PGRcf5SKJ@I&WCA&A~T_LC61!`j;O7w<<6{wc1yOYSyyYu`^ChDR;SSw9~yAwC~yy9@76;E(mdE z_D!kYwA&MRhvpyhAcIFl{DTYPq;p_`^V#7ns=-O=JhB4{u1h=dRcZ?o} E7eTo`yZ`_I literal 0 HcmV?d00001 diff --git a/out/production/Java_Petit_projet/items/weapons/swords/TrainingSword.class b/out/production/Java_Petit_projet/items/weapons/swords/TrainingSword.class new file mode 100644 index 0000000000000000000000000000000000000000..7165577c8bdb580778063f56ae1cd53cec1ad4de GIT binary patch literal 728 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 diff --git a/src/events/StartEvent.java b/src/events/StartEvent.java new file mode 100644 index 0000000..88bc069 --- /dev/null +++ b/src/events/StartEvent.java @@ -0,0 +1,4 @@ +package events; + +public class StartEvent extends Event{ +} diff --git a/src/heroes/races/Dwarf.java b/src/heroes/races/Dwarf.java index 4d38dff..addf387 100644 --- a/src/heroes/races/Dwarf.java +++ b/src/heroes/races/Dwarf.java @@ -5,14 +5,19 @@ import heroes.Hero; public class Dwarf extends Race{ public Dwarf() { this.setRaceName("Nain"); + this.health = 10; + this.strength = 10; + this.defense = 10; + this.dexterity = -15; + this.intelligence = -10; } @Override public void adjustStats(Hero hero) { - hero.setHealth(hero.getHealthBaseLevel() + 10); - hero.setStrength(hero.getStrengthBaseLevel() + 10); - hero.setDefense(hero.getDefenseBaseLevel() + 10); - hero.setDexterity(hero.getDexterityBaseLevel() - 15); - hero.setIntelligence(hero.getIntelligenceBaseLevel() - 10); + hero.setHealth(hero.getHealth() + health); + hero.setStrength(hero.getStrength() + strength); + hero.setDefense(hero.getDefense() + defense); + hero.setDexterity(hero.getDexterity() + dexterity); + hero.setIntelligence(hero.getIntelligence() + intelligence); } } diff --git a/src/heroes/races/Elf.java b/src/heroes/races/Elf.java index d86c63d..5b5bdd2 100644 --- a/src/heroes/races/Elf.java +++ b/src/heroes/races/Elf.java @@ -5,14 +5,19 @@ import heroes.Hero; public class Elf extends Race{ public Elf() { this.setRaceName("Elfe"); + this.health = -5; + this.strength = -5; + this.defense = - 5; + this.dexterity = 10; + this.intelligence = 10; } @Override public void adjustStats(Hero hero) { - hero.setHealth(hero.getHealthBaseLevel() - 5); - hero.setStrength(hero.getStrengthBaseLevel() - 5); - hero.setDefense(hero.getDefenseBaseLevel() - 5); - hero.setDexterity(hero.getDexterityBaseLevel() + 10); - hero.setIntelligence(hero.getIntelligenceBaseLevel() + 10); + hero.setHealth(hero.getHealth() + health); + hero.setStrength(hero.getStrength() + strength); + hero.setDefense(hero.getDefense() + defense); + hero.setDexterity(hero.getDexterity() + dexterity); + hero.setIntelligence(hero.getIntelligence() + intelligence); } } diff --git a/src/heroes/races/Human.java b/src/heroes/races/Human.java index 521f3a8..303ab81 100644 --- a/src/heroes/races/Human.java +++ b/src/heroes/races/Human.java @@ -5,14 +5,19 @@ import heroes.Hero; public class Human extends Race{ public Human() { this.setRaceName("Human"); + this.health = 5; + this.strength = 5; + this.defense = 5; + this.dexterity = 5; + this.intelligence = 5; } @Override public void adjustStats(Hero hero) { - hero.setHealth(hero.getHealthBaseLevel() + 5); - hero.setStrength(hero.getStrengthBaseLevel() + 5); - hero.setDefense(hero.getDefenseBaseLevel() + 5); - hero.setDexterity(hero.getDexterityBaseLevel() + 5); - hero.setIntelligence(hero.getIntelligenceBaseLevel() + 5); + hero.setHealth(hero.getHealth() + health); + hero.setStrength(hero.getStrength() + strength); + hero.setDefense(hero.getDefense() + defense); + hero.setDexterity(hero.getDexterity() + dexterity); + hero.setIntelligence(hero.getIntelligence() + intelligence); } } diff --git a/src/heroes/races/Ork.java b/src/heroes/races/Ork.java index e3722be..c39b256 100644 --- a/src/heroes/races/Ork.java +++ b/src/heroes/races/Ork.java @@ -3,16 +3,22 @@ package heroes.races; import heroes.Hero; public class Ork extends Race { + public Ork() { this.setRaceName("Orc"); + this.health = 10; + this.strength = 10; + this.defense = 10; + this.dexterity = -5; + this.intelligence = -10; } @Override public void adjustStats(Hero hero) { - hero.setHealth(hero.getHealthBaseLevel() + 10); - hero.setStrength(hero.getStrengthBaseLevel() + 10); - hero.setDefense(hero.getDefenseBaseLevel() + 10); - hero.setDexterity(hero.getDexterityBaseLevel() - 5); - hero.setIntelligence(hero.getIntelligenceBaseLevel() - 10); + hero.setHealth(hero.getHealth() + health); + hero.setStrength(hero.getStrength() + strength); + hero.setDefense(hero.getDefense() + defense); + hero.setDexterity(hero.getDexterity() + dexterity); + hero.setIntelligence(hero.getIntelligence() + intelligence); } } diff --git a/src/heroes/races/Race.java b/src/heroes/races/Race.java index ba78f07..4f5e29b 100644 --- a/src/heroes/races/Race.java +++ b/src/heroes/races/Race.java @@ -4,6 +4,11 @@ import heroes.Hero; public abstract class Race { public String raceName; + public int health; + public int strength; + public int defense; + public int dexterity; + public int intelligence; public String getRaceName(){ return raceName; diff --git a/src/items/weapons/Fist.java b/src/items/weapons/Fist.java new file mode 100644 index 0000000..3a60627 --- /dev/null +++ b/src/items/weapons/Fist.java @@ -0,0 +1,15 @@ +package items.weapons; + +import heroes.Hero; + +public class Fist extends Weapon{ + public Fist() { + this.name = "Poings d'acier"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setStrength(hero.getStrength() + 5); + hero.setDexterity(hero.getDexterity() + 10); + } +} diff --git a/src/items/weapons/Weapon.java b/src/items/weapons/Weapon.java index 044266e..94cfd8a 100644 --- a/src/items/weapons/Weapon.java +++ b/src/items/weapons/Weapon.java @@ -3,4 +3,5 @@ package items.weapons; import items.Equipment; public abstract class Weapon extends Equipment { + } diff --git a/src/items/weapons/axes/Axe.java b/src/items/weapons/axes/Axe.java new file mode 100644 index 0000000..885669e --- /dev/null +++ b/src/items/weapons/axes/Axe.java @@ -0,0 +1,6 @@ +package items.weapons.axes; + +import items.weapons.Weapon; + +public abstract class Axe extends Weapon { +} diff --git a/src/items/weapons/axes/TrainingAxe.java b/src/items/weapons/axes/TrainingAxe.java new file mode 100644 index 0000000..122e2ec --- /dev/null +++ b/src/items/weapons/axes/TrainingAxe.java @@ -0,0 +1,16 @@ +package items.weapons.axes; + +import heroes.Hero; + +public class TrainingAxe extends Axe{ + public TrainingAxe() { + this.name = "Hache d'apprentissage"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setStrength(hero.getStrength() + 10); + hero.setDexterity(hero.getDexterity() -5); + hero.setIntelligence(hero.getIntelligence() -5); + } +} diff --git a/src/items/weapons/staffs/ApprenticeStaff.java b/src/items/weapons/staffs/ApprenticeStaff.java new file mode 100644 index 0000000..a61b3c2 --- /dev/null +++ b/src/items/weapons/staffs/ApprenticeStaff.java @@ -0,0 +1,14 @@ +package items.weapons.staffs; + +import heroes.Hero; + +public class ApprenticeStaff extends Staff { + public ApprenticeStaff() { + this.name = "Bâton d'apprenti"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setIntelligence(hero.getIntelligence() + 5); + } +} diff --git a/src/items/weapons/staffs/Staff.java b/src/items/weapons/staffs/Staff.java new file mode 100644 index 0000000..9e75553 --- /dev/null +++ b/src/items/weapons/staffs/Staff.java @@ -0,0 +1,6 @@ +package items.weapons.staffs; + +import items.weapons.Weapon; + +public abstract class Staff extends Weapon { +} diff --git a/src/items/weapons/swords/Dagger.java b/src/items/weapons/swords/Dagger.java new file mode 100644 index 0000000..3d051f4 --- /dev/null +++ b/src/items/weapons/swords/Dagger.java @@ -0,0 +1,15 @@ +package items.weapons.swords; + +import heroes.Hero; + +public class Dagger extends Sword{ + public Dagger() { + this.name = "Dague"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setStrength(hero.getStrength() + 2); + hero.setDexterity(hero.getDexterity() + 8); + } +} diff --git a/src/items/weapons/swords/Sword.java b/src/items/weapons/swords/Sword.java new file mode 100644 index 0000000..1a94e20 --- /dev/null +++ b/src/items/weapons/swords/Sword.java @@ -0,0 +1,6 @@ +package items.weapons.swords; + +import items.weapons.Weapon; + +public abstract class Sword extends Weapon { +} diff --git a/src/items/weapons/swords/TrainingSword.java b/src/items/weapons/swords/TrainingSword.java new file mode 100644 index 0000000..cb2a0d4 --- /dev/null +++ b/src/items/weapons/swords/TrainingSword.java @@ -0,0 +1,15 @@ +package items.weapons.swords; + +import heroes.Hero; + +public class TrainingSword extends Sword{ + public TrainingSword() { + this.name = "Épée d'Entraînement"; + } + + public void equip(Hero hero) { + hero.setWeapon(this); + hero.setStrength(hero.getStrength() + 5); + hero.setDexterity(hero.getDexterity() + 5); + } +} diff --git a/src/systems/Game.java b/src/systems/Game.java index 766a214..20b97b0 100644 --- a/src/systems/Game.java +++ b/src/systems/Game.java @@ -1,67 +1,59 @@ package systems; +import events.StartEvent; 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 items.chests.*; +import items.helmets.*; +import items.weapons.axes.TrainingAxe; +import items.weapons.staffs.ApprenticeStaff; +import items.weapons.swords.*; import java.util.Scanner; public class Game { - public Scanner scanner = new Scanner(System.in); + private final Scanner scanner = new Scanner(System.in); public Game() { System.out.println("Bienvenue dans ce projet fou ! Veux-tu créer ton personnage ?"); System.out.println("1.Oui\n2.Non"); String startGame = scanner.next(); - switch (startGame.toLowerCase()) { - case "oui", "yes", "y", "o" -> createCharacter(); - case "non", "no", "n" -> { - System.out.println("Très bien, à bientôt !"); - System.exit(0); - } + if (startGame.equalsIgnoreCase("oui") || startGame.equalsIgnoreCase("yes") || startGame.equalsIgnoreCase("y") || startGame.equalsIgnoreCase("o")) { + createCharacter(); + } else { + System.out.println("Très bien, à bientôt !"); + System.exit(0); } } - public void createCharacter() { + private void createCharacter() { System.out.println("Quel est le nom de ton personnage ?"); String name = scanner.next(); System.out.println("Ton personnage s'appelle " + name + " ! Veux-tu le modifier ? \n1.Oui\n2.Non"); String choice = scanner.next(); - switch (choice.toLowerCase()) { - case "oui", "yes", "y", "o" -> { - createCharacter(); - } - case "non", "no", "n" -> { - System.out.println("Très bien, " + name + "."); - Hero hero = new Hero(name); - hero.printStats(); - selectJob(hero); - } + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("o")) { + createCharacter(); + } else { + System.out.println("Très bien, " + name + "."); + Hero hero = new Hero(name); + hero.printStats(); + selectJob(hero); } } - public void selectJob(Hero hero) { + private void selectJob(Hero hero) { System.out.println("Quelle classe veux-tu choisir ? Un guerrier ? (G), un mage ? (M), un voleur ? (V)"); String job = scanner.next(); switch (job.toLowerCase()) { - case "guerrier", "g" -> { - hero.setJob(new Warrior()); - System.out.println("Tu as choisi la classe de guerrier !"); - } - case "mage", "m" -> { - hero.setJob(new Mage()); - System.out.println("Tu as choisi la classe de mage !"); - } - case "voleur", "v" -> { - hero.setJob(new Rogue()); - System.out.println("Tu as choisi la classe de voleur !"); + case "guerrier", "g" -> hero.setJob(new Warrior()); + case "mage", "m" -> hero.setJob(new Mage()); + case "voleur", "v" -> hero.setJob(new Rogue()); + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + selectJob(hero); + return; } } System.out.println("Voici les caractéristiques de ton personnage :"); @@ -69,9 +61,10 @@ public class Game { System.out.println(hero.getJob().getJobName()); System.out.println("Veux-tu continuer ?\n1.Oui\n2.Non"); String choice = scanner.next(); - switch (choice.toLowerCase()) { - case "oui", "yes", "y", "o" -> selectRace(hero); - case "non", "no", "n" -> selectJob(hero); + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("o")) { + selectRace(hero); + } else { + selectJob(hero); } } @@ -79,21 +72,14 @@ public class Game { System.out.println("Veux-tu jouer un nain ? (N), un orc ? (O), un elfe (E) ou un humain (H) ?"); String choice = scanner.next(); switch (choice.toLowerCase()) { - case "nain", "n" -> { - hero.setRace(new Dwarf()); - System.out.println("Tu as choisi d'être un nain !"); - } - case "orc", "o" -> { - hero.setRace(new Ork()); - System.out.println("Tu as choisi d'être un orc !"); - } - case "elfe", "e" -> { - hero.setRace(new Elf()); - System.out.println("Tu as choisi d'être un elfe !"); - } - case "humain", "h" -> { - hero.setRace(new Human()); - System.out.println("Tu as choisi d'être un humain !"); + case "nain", "n" -> hero.setRace(new Dwarf()); + case "orc", "o" -> hero.setRace(new Ork()); + case "elfe", "e" -> hero.setRace(new Elf()); + case "humain", "h" -> hero.setRace(new Human()); + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + selectRace(hero); + return; } } System.out.println("Voici les caractéristiques de ton personnage :"); @@ -101,152 +87,127 @@ public class Game { 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" -> { - 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); + if (choice2.equalsIgnoreCase("oui") || choice2.equalsIgnoreCase("yes") || choice2.equalsIgnoreCase("y") || choice2.equalsIgnoreCase("o")) { + System.out.println("Très bien, Et maintenant, ton équipement."); + equipHelmet(hero); + } else { + selectRace(hero); } } - private void equipWeapon(Hero hero){ - System.out.println("Veux-tu t'équiper d'une arme ?\n1.Oui\n2.Non"); + 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 ? 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); - } + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("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()); + case "chapeau", "c" -> hero.setHelmet(new Hat()); + 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); + return; } } - case "non", "no", "n" -> System.out.println("Très bien, tu n'as pas équipé d'arme."); + if (hero.getHelmet() != null) hero.getHelmet().equip(hero); + } else { + 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(); + if (choice2.equalsIgnoreCase("oui") || choice2.equalsIgnoreCase("yes") || choice2.equalsIgnoreCase("y") || choice2.equalsIgnoreCase("o")) { + equipArmor(hero); + } else { + 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(); + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("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()); + case "tunique", "tunic", "t", "leather", "cuir" -> hero.setChest(new LeatherArmor()); + case "mail", "mailles", "m", "cotte", "chest" -> hero.setChest(new MailChest()); + case "robe", "mage", "r" -> hero.setChest(new RobeMage()); + case "none", "rien" -> { + System.out.println("Tu veux VRAIMENT y aller à poil ?"); + String validate = scanner.next(); + if (validate.equalsIgnoreCase("oui") || validate.equalsIgnoreCase("yes") || validate.equalsIgnoreCase("y") || validate.equalsIgnoreCase("o")) { + System.out.println("Ah bah d'accord le nudiste ..."); + } else { + equipArmor(hero); + } + return; + } + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + equipArmor(hero); + return; + } + } + if (hero.getChest() != null) hero.getChest().equip(hero); + } else { + 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(); + if (choice2.equalsIgnoreCase("oui") || choice2.equalsIgnoreCase("yes") || choice2.equalsIgnoreCase("y") || choice2.equalsIgnoreCase("o")) { + equipWeapon(hero); + } else { + 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(); + if (choice.equalsIgnoreCase("oui") || choice.equalsIgnoreCase("yes") || choice.equalsIgnoreCase("y") || choice.equalsIgnoreCase("o")) { + System.out.println("D'accord, lequel ? Une épée (E) ? Un bâton (B) ? Une hache (H) ? Une dague (D) ? Ou rien ?"); + String weapon = scanner.next(); + switch (weapon.toLowerCase()) { + case "sword", "epee", "e" -> hero.setWeapon(new TrainingSword()); + case "staff", "baton", "b" -> hero.setWeapon(new ApprenticeStaff()); + case "axe", "hache", "h" -> hero.setWeapon(new TrainingAxe()); + case "dagger", "dague", "d" -> hero.setWeapon(new Dagger()); + case "none", "rien" -> { + System.out.println("Tu veux VRAIMENT y aller à mains nues ?"); + String validate = scanner.next(); + if (validate.equalsIgnoreCase("oui") || validate.equalsIgnoreCase("yes") || validate.equalsIgnoreCase("y") || validate.equalsIgnoreCase("o")) { + System.out.println("Rien de tel que ses poings pour montrer sa puissance."); + } else { + equipWeapon(hero); + } + return; + } + default -> { + System.out.println("Je n'ai pas compris ta réponse."); + equipWeapon(hero); + return; + } + } + if (hero.getWeapon() != null) hero.getWeapon().equip(hero); + } else { + 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"); + String choice2 = scanner.next(); + if (choice2.equalsIgnoreCase("oui") || choice2.equalsIgnoreCase("yes") || choice2.equalsIgnoreCase("y") || choice2.equalsIgnoreCase("o")) { + System.out.println("Très bien, tu es prêt à commencer l'aventure !"); + new StartEvent(); + } else { + equipWeapon(hero); + } + } +} \ No newline at end of file