From 24919cf07f26336c8929c68db80a890ce855e719 Mon Sep 17 00:00:00 2001 From: bmvolf Date: Fri, 18 Aug 2023 01:44:29 +0300 Subject: [PATCH] player can shoot --- DangerousD/Content/animation1.png | Bin 0 -> 39961 bytes DangerousD/Content/animations/playerReload | 1 + DangerousD/Content/animations/playerShootLeft | 1 + .../Content/animations/playerShootRight | 1 + .../LivingEntities/Monsters/Zombie.cs | 17 ++- .../LivingEntities/Player/Player.cs | 103 +++++++++++++++--- 6 files changed, 104 insertions(+), 19 deletions(-) create mode 100644 DangerousD/Content/animation1.png create mode 100644 DangerousD/Content/animations/playerReload create mode 100644 DangerousD/Content/animations/playerShootLeft create mode 100644 DangerousD/Content/animations/playerShootRight diff --git a/DangerousD/Content/animation1.png b/DangerousD/Content/animation1.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc21578051879474ccecca9bd1ad8082331373e GIT binary patch literal 39961 zcmYhiby!s2_XbLr^pFw*2m?qCC=B5cf`~Lq36c^@gOWoD$j~4ysi3HIch4|%=g>n+ zNW;Jom(TZi@AKS0<~ir=Gkc$P_Fj9P_gxXGtF1;wai0PY506Uyxr#m>9=FCU z$z4l3iyhD10pC+!O&PCri2d)~1(CgymJ%LbMf|-hE8@Fra<}Iuo_KiFUH|>?QLew< z;^AeMs;ely@-g4bjtu!BJ67D36F(^$bFYnjwX=T2_U#kZ@3iVXA;!Z@78Y+5$!ve7 zDn?XI0J+0x%leHLZ#JC6Hsd=l{kP}z4avAwh{@h*%$&P<1t^no)7MP8IP#eRtWqPV ztK%MMNY&0TE5qXp_>xbrZgIKJF}FAT`^K}W&qEJkI6s}i2$AV~+z8ac?Ge)i!c(aE z?7mgFn?hM2paiM=rGDm(S zyOT?q?C@&W1SwhqcmEfYayTjV4~{=?yGiGBy96Hc{wH_%3@a@)-QJ!}wHtJMv)AIN!%ZAM?Ej%t910gYc`{#9ggzS=hXQjHOweD(^ z%W;tR|(5(4H$bj%59ocPJtLSi`PP+aYSeRBl;X^k1$l^vBo%zq|r^EdyT z82<2yLuj~!6a}VP-~F?b7yG4MIp+B=<#m1;UkT!LK%B%9cQCjAfSZ#yVK|yO|9pMC zz_Vfzm-%n&_jyDN!pJY9_oHRw&c3gSS52&(HJ;IIh2OY}kl0`KuVG2@b#2n0IYI6q z)K~B)!aZMp@7P2+Md1Tiv`$9B?7>nu1*S`uV|7dQQXNtYleHxwc{J|*f`#Fjc?R`= zOB3qVr-CSWdPJaZwpap4^l}7$5<(wqzjtp@)Eoo{-zWY$*ATswbpj%^Fa5MeaqjAOjA&bTR` zEiTRGc#lnci`Fv3$u+yFgU@$`K4rcPBtEAAldJ8&m?x3)n%DS9NXYS*=>K%VL(Ys* zxgCGkGWSB-8nB3ZN01XNz!kzwCs#h>4O%9T7TQ;kVbbVCFS*p#%dGrNzK%$KzzvcU zGml&BJ>AJ|x-y=ep!iA;$1D2E}hggp9MPi$f2zSEI zGal@)@Q#4s<9Boi4+HolS~%pMN%cZ5DRO2F7P1oMqAaA1 zaWS;Vc@i_NW+GKy++O%tI|(itMXA5_lN}7Rskf(5p1}Nqym_0iITUS!XN1smp{QZ} zzWFxfw>E5M*KubPw(op`GM`UfRPm+bGunI-_K-dgw^J?&o>bzt5peDB`6y&>91Kx(M@S%gc2-W2&4F>xQYbf84)W% zt|vwh^5`c~l!tE(oi)<}IJ<|^M@X3LU&x_PSXmbFhOezF)*-YuM4RaX8(_XZV=HB- zf<3h<{Sj(}50f=9Pftk)R~uM*$|;c4IP`0&v}A(HdVvM*(*6$<1@Ymi&5HRoyvlE% z)9g4b?K}kj_U~&@wKV=-viB3C>P_NwJnjzZvovyJ^jJ{tt+l4%@>Y^kU&PJ9b*MzD zzPY-LSZD1~WC5e1Osx{1%MX7(YH^m4jxF)byr*6@<8l{&-t;$zo|-P0j8IgRW`9&G zjmdwZ_NFL_eE8qqML^Dcv1Bc)+ZjkYVhfc4HdkWczBC0$=aO!e9DQKGSF?@@#%-DA zkQ$0QXW*^It;<7mSIN}pb<*Ib5e<>CHXo|B&K^Pf0@Ih(1ONilG+r~mQcEWHdI@im z8Ic{3vF3Cg9Q`}!k)f3?TmRUOws8U+;z>pN zgb~W^t!1rZLtcRfs&5v_ZCt0mLCyDeNFFcgkxZ{EHT!$yu%OnYOY!3bCX7!QOiRt` z5@;gZ4R;_pnO1@36FK}g?(K!#u>otU6u!`(6)>ju=7pm_o77th?ND5MXnn#y;J}tu zf&SQSag%=}wd)ht@#*B_GlY6^WPOR@`|2a_k!rowSy0SsDx^8~kFKXgETA~TAcT6r zMY!xa!vm+$*49|=nXn6iSfeL5R4t@0p-dFC5f=uBgK3@>ua{QYOOKs9Vat7&DqL$9 zKI6vp(ubL;RV)Iw(aEyxJZt0Te?I=qI*Rvwm&|v)`dZo=g$ZVyiAJhT&GFh*Zj8pee7#GrD{niF|d z{@yxmGLRbPPl7+4S?q^41&{nZ8!lRJULe2hKW8<6BjGxhhF?d)?CrUg0a@0#l;kfg z8^0&>TqwGEnr6F8Q5rZtzuIrDZiD|8nk1*Snu9 z%%0-)A~2oCgeWF|&zBn%Mz>VTig*KUzlasO!rEhIwmvuANvE0A9XaO zBa_v>tkRf2oV|$qsw4D9fi~W;JJJ}Y=^5Agk}(f9$o=hOGQ_ff1GhBjo=`c4dK;Fz zSzn)GHHmIt@NpK-TFBv-j7G+@(lXP>>5Txj=v~H4pJXNMB4OJ`77P;( zNADQ2)m+Ly4*9S@AnE**Rjp5g8@TK8z9?v8>Umar9X(8tYiVJb?wEDYS5Pz+!ddQj zy1K8bQjMnvnOWnZGa&MEhI0g0hb8GcRDF*iMCsNXO4RKNY}ebQ}E02ZbUxKgifw z(@R;ZWAuUV8~i%$FY4x*G6A^zb5dK0ySri1keL2xI^wtc9D$XxgPlff36YCwYcO*N z-}IB5{-x&{hX(zwZ}rvqsH;sx$FChaTpr2z&e;8;`5V_O`?qk!ZV`H%>x)DgPhAGl zuSOSJE(tPK(2zl7r)z&#^|v~!eQwUuElu9ze6m`JCO0>?&HJNO|JGQiw=U@7 ziuzW)F%XME@iMV*1{vB}EQpZYhPJFs{Ed;)e|V_rJk(cTpBtHx%je3Ms(;pye(?@f z#u`1-ez}@l{Y8@iT-;glhuv_sig7I!MQG|SHtyXfICW44`x;gRh(6{0J}8NCu!?v1 zvTuLcrosxylK_>n)7T%AR4As$dT%q2sxi1Pru64=C8dqL4ZK>q(2+y;M{E7 zKNuAI|PFSx3ry3S;oh5n2bk+MFce;HY;=ZTzqdn_7LAKl3~=pK8mw6?Dg;`BEJ9 zKY{sK=1RV}K{Ii18VW&R9}_+|l+`gwYC#q}x^4xfKR!aciVm?2)sv@w%sK{y#y{l|zg9-ON zHa3^#9356c?CAyPS5}(dXHnPmdg#(vTN@RVi`e?%x3K)WKWH)UOrq471GMd(K)Vjvs@mm@V}U*;fi zj<*EyWR>=!u5WNVy{Acb2OL6RY*wx5^`hoxxz-@o=;7fZX1mQ>fKrXlnLE)i;j15hu^` z`~@CI8-j`LHgwq=-dsE7$x*Q=Rr$w(d{F-aD<+N&qIwxfh*x1-ayI&u1?L3s8t`_F_6&)(7OGerMK zyDCnaKXhiZuD|x)k~9zO?e-s?qZU4o`6Y(bC_n24k(N8NDQw4kmV_*ZIyEz!qE|AA zo1HA`#RAxCco%~o)7^IB+3~b3ty)}oUHFrRJDr5?+;J?N!#{_JBHsuW&}t`YrMv+8|4R@S==Azc?=$AANT%&Wrz70MFF_lUb6s_+4y4%V zN}UyHlOrJeR{xwOWms<3W#63rxy4CEJ-t1tO~1-R96OO@hsmeY@|zbe&lYbT*zf=} zLdp}N0l5;tJUv_N6IH|-q+wT71T1r(>gAII9^#uEwNSK&U zZms6w-VX-5EhtGS-|y0xyi*9denBwr#m%;pw^&_q`2-T@E08vxUyk*zMvj+{2f5@D z#NETjA}YRUn;hW;@!Q1A;Ydc^e-5~M&->&vj}JU{frbJXGZnt7d~6Gr5*rKn?6|ZG zh?fv@5S)cShd+Vlkx7rIpgHu6lIyVV-Q@H83@o%PyX1?=j-Mf1Yzxbi?u#7To!fn7L)=G0-A~KCf@uWp9-wGOn0khx zUm`Bh-%ox-6LRLtn7g!_H(a>d5=3+Fljf8HRe+8_uyEe0&1O^D5lc@5X^4|>7bCZ7 z!uK~Og8IfT{1-MAR*ca^n$41>964!gVgaa|$<=j=vDhB#b}IfQ?S3sXX;9Yi$ZbR{ zt9wihzOn378J3K+YT+>A`U&A{DL-`~gv2R%v$JdbB4S}b#yi}1Zwhhm8y^0XC%3DMoDJgZ~lRN-pstX6cAnu zUb26Q#)ql~1;_;(cO&sRS)-A3*U>kjyT|!+PsW<*4A8h)7<2Xq1pp18C^#f$vw~&D z*Rr^biTT&8%p3{a>wtt7$#~>BF%;>Zo{%SBJ730^gL>?>4!~4@@s_SaZ>ygC}$ zbCS6qUiAEv3ML_JqMw;`z=CpfvNHW%;_1W9&8oth=VK18&EF`O1U8bOvXNKr1vN7^ ztQstYn!&AK+qgkkQSP8OjjHU}kk=&ceXEMlduW-3XPhHz5^@<;+hWrjmplWm*+FF4 z&Qvl==J%4r+byG$53D~59k90Ybntg80woKv#Q1ey>Zi*6**)6yM~=O)e!)&K+_OPT zLo@Q_74!LM8$HTWE1R>BjTFC5?f0zJf^WiJ2T2q2J@jERi~el>VHT@e7JSroVuPR8 zXE|*5y`v>3^*U(S#^8@e?jOMW=$>Pqk0guK2chw6%}-qs2)|XZwY+u2 zDMxH51{pxRgLz+Wx5}D+F?Udvs#DP+6Q#56d6-6rlAfEz-N*64cSV)n#yl^co+Egsbj>28$^=a!#m_Xki@K3La^tFw{9+e^M)O_u&8pY2sk zfz5DFU#g$FM}C&JEjL4>CNnlg9PP{ga*A|DT4|^LMw6BXX4U5L@g8smKtC)QZ+q-D z&eHkts_2lAzcmnT1EoK5gLXo{wFQ4%iK%&ama*o@yC&AYkpfxHtGMpVlTogINfzpK zuT{HKUV#;lZ)=MS`hYqpJ5ucrAkddPpTkKn(0T_STTgy$Z94tjwmDb}G2lnEhpN5? zH4$B+`Hz{&ovG(+GwE%V<-3eo5zx(JyTJLjT|z71g9}&!su*7(9q)RrM&scA;r)}g ziVPAw(i7qs>x`Xq!jtyAhefj{95S3V{cc}2I-r-eL%-b*)~iQ4M+w1`P zX;W?4+xMfV^DGb?TiE+DK|9Me=y5)r~ooL(9-Tzm1C6ZiAAvRLnlH& zk(GBPjgvyM0tcD+;&T-_8WAYRj&`01FcNCj{~_k;#am9HGmY;SrTft|2jiRLM*57~ zFv6poO%GEhFa{s1RH^d!`G-fOh+%K~WFY0`2lEv zLi_EfH{iiOi|xzKe8yfj#&hq>l}1`s&;422;Okam(a9>S+1YI(MO+HSYpmfaXuM)x zx=StyxobWzARr^6~ zx(_I|$Yl6zvIyoZ>k&Y09fIvl6(k)L_$QzwfQIVR>x3C;%PE#cpz*evoCO`aW`}9z z6W-js#WaFn`@x+ILs1W` ziVj!>X*zp|@@ccw#GM^sIc)K~_nos3$^>$Pv0G6*@JDpwfP;1b*_$%UTWuG`$Xs@s zZko$}YjcEJ%t~)VBcZ+w3+BcOO7sHdvb=F}=#r2kSJ)%GNg&#gRT^Kgz81 z?M5ZdHq#gMNPg&v#YBoaG+tPYB+!$J=CxqgZs9 z(wm5Er>1BR_LpcqKVwi*ejcAwb|}j3-@_5#NMG_%y^(`L4Ux9RrHIkPP%^7eKbg%o zm$Laoqj7eCTKyxQa(qg8jmNq6Lci}8q$}RQioW2X_MLyGq%`PQeBXL(%DjDVWASLm z{l6~@i$Ike7J)n!kg(FsWE{EuilGh2L?YhIJ4K-NV*b)N~}zExHxaiedt zPR_<^u?UHIw;nxB%;9?b1uyp9!x6r+WKUm#@%R!8A4`ZUfC^K-PZoT)s6OZ7qbmw5W1~j{I5xT-8AQ{cs4N zImwlk=;<}PF8*!!7eG4l6C^rz#dG*1U`H`$Ivd@C7BpyjK<)o3bmxMcVJC^-)CX=VJm_Hqzg+wQ8CC05#GI&5!z*<{qVxYJaQrm>F<# zlVVxbQle@yBX;FzxBY}LK=1yXCZGF;_;Ou!tHAxn29*@m1U~Mmx7#0Qk6BMV>6Q>O z^2sq)2@lBCW?ktom%tmMHJf-BN-}42I$K0h$+ZT55dF_bt-}_7dM(*x z`F)*3hBlA6xm$~PPt<^oZ<_IEBc}avFQ%A-w`$Orhf3r_vi3{zs!C;ZHR+bw_;b@3}IF)qQ;u z@@S;_V2`$B1q=t+vTw?!g-eoMtaQj}ekGT4p=63LiPQf$H#}>VtuB{8pxSl&Y|JF(S$MQtrd%0{YnT6WcbvZ~2M!X&yD3 zB5gz8L$AbLR2WxIEH=t{xX;p651mijwZ-ff8aNu1%lX2git45~Hlqn?J$1|9?IHdD zlBb*H^`w?CkBOsFjJD|=nUZ3^hJT|~hLd(~#+ec0HWQ#_=dc39#jaz=X*Jv-3;S;i zGH&xPj}r+6s(8P8=aj9K9XkDA8x}(Rsr$oY|J`!fo-Djl=Wet!T}sCy{akOP@3742 z?b5B2&DFVrZ{dy~cbJd5faMb&)GFDKMZops>AnAj(A>p_8!4Pi{yZ3NjS5VIgwg8s zaURwyr-MFT=ElF_xqZ7~jt@gYbWx1%Z;(P44-qfNBxOpOeja5m)sx`XrSIRA&dpi# zyT&rdbxB^goH*4*WS_-(d<2@sy2xVw8nZbW-5b{o1GSxP1}ab-7){=+11zvgHQ#m% z5i8(Kc-Jj@o=Q5d#cYAp=wMr#;}Bn%s=6rrZ=E3u5w~QgtH2+$SgMuk9oZ#`9&l&S zGlNHiL$dEWP)cVh&6CW4@-RX(Bcw*+tkS{P#1@!_=W(anLCA=)`)|F;lCBrQw~GbW z6``6JY{}mOZ@7uBqISxzM^}P^T3ZJYO{f)C!w7ECD*T7;qvmk(lNq_b2QD7|fRyptnv3WED-9Y}k4K&8p;_0NKInRa`c&pr zw7fs5ZEE2W&f)4aZyQCb=>iUUG_y2qE5Wu`zS<)q zoo}aq5Sb>C(~A~z1bZ0QR9NatD;Oa44o_mt2veO<+2s{9?kQ*80d``}8KMFz&(Z=N_ydKe*se z^OGDK&6D5KKLHhLTAHB1$ggFVu0VFY(^zSL`&{9AMRsWEXuB8b z;l+*#{T=ztw_A>N;+>NRE&Ae7z4J1NOOxxKUcvh=kV@&&l5p_kaAZz+dTl+iW2gNs z&@6MpqzEYQ$Zp1WpFtUY1omxe2>J?M_v$^ZaRS=PraDN14{Co4i4aPj6t4Q@WTV4Jgb+Gy5KTKDMxYf~M?R?$p35{)H8YqV^ezJDoofo1|M4=+V4F5c}{-Zah^SnLFcZ@X(yZFB!Ltw0@7HL&y(4&~%jx zrAJXvvCZ@2X3l38dae-BGf&Q81rv7PMw;&$a?b&o^WSf>+;;oZ>djbrbwvH8LdBep z(QT<^7my!92dD9ZbsTkzWgaoLHnRt=sS%E23g)5p9;Wx)DQeO@S$t|&Esj1Nd1Q-8 zXXIKy?flGnnAj|j^dGlqX3uhLFI|oS0I2e`BXSEd8}Mtf_-Wu{Ggea2m9a(V6E9X= zPs`P2eyWM^>i8$Y-|Q#hflZgg1!PQ4$?i#WS|G=daf}LjzaEx$D&Vn6k3;zggYd5X+2WSB4crN{DP zgS}2CFz^EG@QILhg*3Woc^KuH$dVssYNpC=JlUZMapMn_xhG@v74Nvj#`ZB&PoBAg z41_Krw`ePyjE}mA=2P}Lvmv5Zy*Di4_qdBeaZd;&W{n?eKj3IrE59h}fUW7h(KftZ z^RQBXYj885K{)^X8(TkOSKCc=h{;j6j!OyE9rnzcYt+eq!;eq9qcQua}w1ZQOGj@&d{kv*VGGe z^MakQN-Et{I2mba&M}h3JJU%1Qt{d!M7nC(q5&Rt84MJ=d5w-aU0&X=jenDlgw2?c;r?cMyrh~Y>Kqn)2|=%fOS~X(z6O|Qp0y01e;`ruCFPH zAgMEnZGUjwF3W)X!LufRQqPZH8jXdicPFf80i@d<9|P}EchhCS)gwyY%LON0AIUex zn_d&fJE(Dcg>-DcBm%ULjRk7AU>$`yenn#)19$*zB>@b(mL4Ltn%_hVs?ujEd@Zfp zYI4UJRoGI^IMcCX=;6Ok*4KCE8ULND!y|M}Rk8RDUV)K0jC~m&RZ}rODwLKw?1`yQ zrdp6dkIxo4_UG=sHc0C;=#0=ExE|Lk zqr6WA@-V`YgF{32MfEC|u-e_b%dR&iLsxnwbT=gQyFUW<=b}oyBW-8`D)_A%?!kV$ z8!heHPAUu!wvvyA5$RmK@)K>fHj@M)<4=GE13xFy?q7jgVruy(I9rbk!RLN{!2IB1EftNa{s-G zuov%42I4W|5n~REbk91y{iSNoUbkB9f+fB5B?!U8?zZs#6@Yg{@I@#`#B6Wv3y$j0 zUd=Dp848}J3+@T(^0Qv3x6QI~4`wWg2n-UOET)#y$sLqLsv^#hS9!pE-QOOo;Br?~S~V2Dyc$ zJ6DT54>-;asIIPYrT*gLc7}?|&`%JR) znxRuZ7qYHM&&N=Y ztcpoMDeKU5j$CPXB4~!Pn>ecF+x(b{S^R^pOAWcvLNE3vtNHZ|(Mv&`{W9b{=>l^` zH4QyECmQQdJ-JQR{+pSUw^x=s5ij_$rSgTznR@c8sru50Nu`~ zwa1X=QEB5gNk6<;XR$q6>qnVpOoRj(1}!#{S0IOUp;H~#$!1S%T3UC#etz@>-Ws=6 zA#IwD*zL{^%CKF>`3qJGn+Z1~ z$k~gfL_ol{)j?C0YYca()=fq3j9P{vNB)86MJhTzKC50;=8{~5bavy-o**;^-TttV zh?`h7>ZD$EQC1#Df<*Zhfsj^??6rciBQ>u zxlUZnu;+TCGMdLD@T-V`68k3)L{kj-!L@XxeTr1Y@-d(J+xS3c5~9^3TbV^eAtEN0))h%m&b;nog^A z%e~Q#n4dJt)P<+yKHn-1iX97Vh3<|sr?pK#DIioT|7E^C$nOdA

$9%q07X|K^A0boh2(Fyy`btyMs@XS{ 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 MtR1W{mNygs4@|oGiU0rr literal 0 HcmV?d00001 diff --git a/DangerousD/Content/animations/playerReload b/DangerousD/Content/animations/playerReload new file mode 100644 index 0000000..2dd0586 --- /dev/null +++ b/DangerousD/Content/animations/playerReload @@ -0,0 +1 @@ +{"id":"playerReload","textureName":"playerAnimation","startSpriteRectangle":{"X":101,"Y":67,"Width":24,"Height":32},"frameSecond":[{"Item1":0,"Item2":12}],"textureFrameInterval":1,"framesCount":2,"isCycle":false,"offset":"0, 0"} diff --git a/DangerousD/Content/animations/playerShootLeft b/DangerousD/Content/animations/playerShootLeft new file mode 100644 index 0000000..f2b9f3b --- /dev/null +++ b/DangerousD/Content/animations/playerShootLeft @@ -0,0 +1 @@ +{"id":"playerShootLeft","textureName":"playerAnimation","startSpriteRectangle":{"X":201,"Y":34,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":12}],"textureFrameInterval":1,"framesCount":2,"isCycle":false,"offset":"4, 0"} diff --git a/DangerousD/Content/animations/playerShootRight b/DangerousD/Content/animations/playerShootRight new file mode 100644 index 0000000..922862b --- /dev/null +++ b/DangerousD/Content/animations/playerShootRight @@ -0,0 +1 @@ +{"id":"playerShootRight","textureName":"playerAnimation","startSpriteRectangle":{"X":201,"Y":1,"Width":32,"Height":32},"frameSecond":[{"Item1":0,"Item2":12}],"textureFrameInterval":1,"framesCount":2,"isCycle":false,"offset":"4, 0"} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs index 4ab4494..02fa96d 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs @@ -24,8 +24,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters Height = 40; monster_speed = 3; name = "Zombie"; - leftBorder = (int)position.X - 50; - rightBorder = (int)position.X + 50; + monster_health = 2; + leftBorder = (int)position.X - 100; + rightBorder = (int)position.X + 100; physicsManager = new PhysicsManager(); Random random = new Random(); if(random.Next(0, 2) == 0) @@ -74,7 +75,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public override void Death() { - + AppManager.Instance.GameManager.Remove(this); } public override void Move(GameTime gameTime) @@ -151,5 +152,15 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public override void Attack(GameTime gameTime) {} + + public void TakeDamage() + { + monster_health--; + GraphicsComponent.StartAnimation("ZombieRightAttack"); + if (monster_health <= 0) + { + Death(); + } + } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs index 39b1926..2071350 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using DangerousD.GameCore.GameObjects.PlayerDeath; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Graphics; +using DangerousD.GameCore.GameObjects.LivingEntities.Monsters; namespace DangerousD.GameCore.GameObjects.LivingEntities { @@ -24,7 +25,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities public int leftBorder; public bool isVisible = true; private bool isAttacked = false; + private bool isShooting = false; public GameObject objectAttack; + private int bullets; public Player(Vector2 position) : base(position) { @@ -35,17 +38,30 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities AppManager.Instance.InputManager.MovEventJump += Jump; AppManager.Instance.InputManager.MovEventDown += MoveDown; + AppManager.Instance.InputManager.ShootEvent += Shoot; velocity = new Vector2(0, 0); rightBorder = (int)position.X + 100; leftBorder = (int)position.X - 100; + bullets = 5; + this.GraphicsComponent.actionOfAnimationEnd += (a) => + { + if (a == "playerShootLeft" || a == "playerShootRight") + { + isShooting = false; + } + if (a == "playerReload") + { + bullets++; + } + }; } public bool IsAlive { get { return isAlive; } } protected override GraphicsComponent GraphicsComponent { get; } = new(new List { "playerMoveLeft", "playerMoveRight", "DeathFromZombie", "playerRightStay", "playerStayLeft", - "playerJumpRight" , "playerJumpLeft"}, "playerStayLeft"); + "playerJumpRight" , "playerJumpLeft", "playerShootLeft", "playerShootRight", "playerReload"}, "playerReload"); public void Attack() { @@ -53,6 +69,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities { isVisible = false; } + } public override void OnCollision(GameObject gameObject) { @@ -95,9 +112,47 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities } public void Shoot() { - + if (bullets > 0) + { + if (!isShooting) + { + isShooting = true; + bullets--; + if (isRight) + { + if (GraphicsComponent.GetCurrentAnimation != "playerShootRight") + { + GraphicsComponent.StartAnimation("playerShootRight"); + } + var targets = AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X, (int)(Pos.Y - 10f), 100, 10), typeof(Zombie)); + if (targets != null) + { + foreach (var target in targets) + { + Zombie targetZombie = (Zombie)target; + targetZombie.TakeDamage(); + } + } + } + else + { + if (GraphicsComponent.GetCurrentAnimation != "playerShootRight") + { + GraphicsComponent.StartAnimation("playerShootRight"); + } + var targets = AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X, (int)(Pos.Y - 10f), -100, 10), typeof(Zombie)); + if (targets != null) + { + foreach (var target in targets) + { + Zombie targetZombie = (Zombie)target; + targetZombie.TakeDamage(); + } + } + } + } + } } - public override void Update(GameTime gameTime) { GraphicsComponent.CameraPosition = (_pos-new Vector2(200, 350)).ToPoint(); @@ -116,25 +171,41 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities { float delta = (float)gameTime.ElapsedGameTime.TotalSeconds; velocity.X = 5 * AppManager.Instance.InputManager.VectorMovementDirection.X; - if (AppManager.Instance.InputManager.VectorMovementDirection.X > 0) + if (GraphicsComponent.GetCurrentAnimation != "playerShootLeft" && GraphicsComponent.GetCurrentAnimation != "playerShootRight") { - if (GraphicsComponent.GetCurrentAnimation != "playerMoveRight")//идёт направо + if (AppManager.Instance.InputManager.VectorMovementDirection.X > 0) { - GraphicsComponent.StartAnimation("playerMoveRight"); + isRight = true; + if (GraphicsComponent.GetCurrentAnimation != "playerMoveRight")//идёт направо + { + GraphicsComponent.StartAnimation("playerMoveRight"); + } } - } - else if (AppManager.Instance.InputManager.VectorMovementDirection.X < 0)//идёт налево - { - if (GraphicsComponent.GetCurrentAnimation != "playerMoveLeft") + else if (AppManager.Instance.InputManager.VectorMovementDirection.X < 0)//идёт налево { - GraphicsComponent.StartAnimation("playerMoveLeft"); + isRight = false; + if (GraphicsComponent.GetCurrentAnimation != "playerMoveLeft") + { + GraphicsComponent.StartAnimation("playerMoveLeft"); + } } - } - else if(AppManager.Instance.InputManager.VectorMovementDirection.X == 0)//стоит - { - if (GraphicsComponent.GetCurrentAnimation != "ZombieMoveLeft") + else if (AppManager.Instance.InputManager.VectorMovementDirection.X == 0)//стоит { - GraphicsComponent.StartAnimation("ZombieMoveLeft"); + if(bullets < 5) + { + if (GraphicsComponent.GetCurrentAnimation != "playerReload") + { + GraphicsComponent.StartAnimation("playerReload"); + } + } + else if (isRight) + { + GraphicsComponent.StartAnimation("playerRightStay"); + } + else if (!isRight) + { + GraphicsComponent.StartAnimation("playerStayLeft"); + } } } }