From df1901a6fac503d9a4af15fbd76e7eed57f61847 Mon Sep 17 00:00:00 2001 From: GammelJan Date: Sat, 25 Apr 2020 11:19:46 +0200 Subject: [PATCH] COOLCOOLCOOLCOOL --- core/assets/AttackHori.png | Bin 812 -> 633 bytes core/assets/AttackVert.png | Bin 666 -> 635 bytes core/assets/fullHealthEntity.png | Bin 0 -> 620 bytes core/assets/halfHealthEntity.png | Bin 0 -> 630 bytes core/assets/player2.png | Bin 574 -> 605 bytes .../com/dungeoncrawler/view/GameScreen.java | 79 +++++++++++++----- 6 files changed, 58 insertions(+), 21 deletions(-) create mode 100644 core/assets/fullHealthEntity.png create mode 100644 core/assets/halfHealthEntity.png diff --git a/core/assets/AttackHori.png b/core/assets/AttackHori.png index cd869843121c67902dd4b187f8014a9cc1636276..3361a85c2953476cc70135d7aee1f8e4af27f1af 100644 GIT binary patch delta 580 zcmZ3(_LHT)Gr-TCmrII^fq{Y7)59eQNLv800tXwAbZ6fEf`NgtCDYkCz|+}Tp`a)~ zEi)&Tfk9(p?L=FT!wxb> zGE+sTe%fowi(gGybaVy?AkvyTg66g2KBOm)JfiVwb46Sveos+uemh z4g^oBD7H>M!l=L@$-$#o9`DRO`3<9bIzynRi(^Q{;kP#z@*XhYadoslwQZ@avdQOV zCdwi4-)B7ZG%H$vYk8BjXq-*Ky~EM|>I>d&-n^&*3rO7hocqE4-wbC~u{XXhi_@&g=s@W zP)S2WAaHVTW@&6?001bFeUUv#!$2IxUq7UxRS`RgIAo}uEQpFYN)?M>p|llRbuhW~ z3z{?}DK3tJYr(;f#j1mgv#t)Vf*|+-;^gS0=prTlFDbNti1FaKAMfrx?%o03MujPc ze*#ccQ%}WXLN>Q51YY4sKYB5Uh{y~rkzUNeb$s2!!`Hhg&vHNa=jfC31_L|-@f_21 zlX!!8X4BL-?-PeuNtB7tiN|%iAn_yDC5PWQ7j5?P%#fZ*%@c=+g<=Ow9n4C)LOe|z zmKBxqy;+BUWzJiil}e4Z?#W*m%&RMDuG1Vv97{+b2>}vnD5C-sQCd|}45Vm3=Hef* z{Yi33M<^)}%e)at9cG(nMXfB_Bn`u^?(FT~Gp+u909*EQp0^^cc>n+a24YJ`L;(K){{a7>y{D4^ z000SaNLh0L04^f{04^f|c%?sf00007bV*G`2jm0}3luxYuJcy_000?uMObu0Z*6U5 zZgc>X`vDh!0Ru@yK~!ko?b|^LgD?>$jC?Zhnsd)xP2=WHHd*@PD zgdk6#-Zyq-MF<)VWL@u3RfM3CK%=XLii!|q4dh*GR#Su^OQ5Ko3MEAdvIL6UsZiPV iSokv=3sa0hzZ@T^vV65jd4v-H0000R@u| z7c^-|Qd}Gb*Mfr|i&X~~XI&j!1wrrw#L3Y~(M3x9Us7m)5#zyeKi=JY+`R+5%_>t2 z{{*0@rk+m3g=}@5x^nE~qORuG1Vw0!v6D1pyN3sGtfHF(WE`#at9cA(nMXfB_B;jZ?OoxpV2qvf&N<{wC42I-pAn`sOcK7!0nRb6aRHt&A8J?nU00006VoOIv03HAy03OODA%&B~ z0U!t&2n;Wf=WYy>>;Wh>Q%OWYR9M69*`X1@Fbo4gJC|)sJ4R^cO=%{m$cqX2?*!ee z_Nib-g%bzNyS(-EA4l)mO_Naq7aR}=w5L@X@BzEs2eAN{;*J0S002ovPDHLkV1ibZ B@u~m- literal 666 zcmeAS@N?(olHy`uVBq!ia0vp^20-k=!3HEZ6qji;Ffg`eIy(n=Iy);A6y>L7=A<$( zXiTh~XzOve=C}|U1@D4FkaY_yxm3rmRd(9C^!F`5-K2nR`nHUWYrZls6XrC(V}C&g Oq}S8c&t;ucLK6TI6a#kv diff --git a/core/assets/fullHealthEntity.png b/core/assets/fullHealthEntity.png new file mode 100644 index 0000000000000000000000000000000000000000..0d7407cf0226dfbc3ca169b8762da5f59f889c05 GIT binary patch literal 620 zcmV-y0+aoTP)EX>4Tx04R}tkv&MmKpe$iKcuBp9PFUt5TrU;5EXHhDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRDQw;wEps1#v zPQ-;=epLv(!jC}&5yFVb3@w>i%))hi-NVDzyBN=MKlkV8l?w&~JOc3?({z(~gLr1s z)Hv@GM_5^uiO-40b-Ez&BiAK|-#C|S_VUb#o=wjaM~H<|7fW5t%DO^4O&paKmGZqg zhh@%NoRw;wweQJa7%r$Q8LrbDMgmJnA_V~w>ZqU!6ERv-*TUS|@<-8MsnA{#p~5{Up87 z(V|B{-!^b@-O;2y;Bp5Tc+x~&v?U)+Z?OoxpV2qvf&N<{wC42I-pAn`sOcK7!0nRb6aRHt&A8J?nU00006VoOIv03HAy03OODA%y?{010qNS#tmY zE+YT{E+YYWr9XB6000McNlirueSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{002ZuL_t(&-tE*e5x_7I13@{HCL|tZU>IdcxO8y*co%`L z(Wt7O#_l9p^J_W&c`H|%6CmL9fYJR%0RR9100000fOGskWd*~(i0cgi0000JP)EX>4Tx04R}tkv&MmKpe$iKcuBp9PFUt5TrU;5EXHhDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRDQw;wEps1#v zPQ-;=epLv(!jC}&5yFVb3@w>i%))hi-NVDzyBN=MKlkV8l?w&~JOc3?({z(~gLr1s z)Hv@GM_5^uiO-40b-Ez&BiAK|-#C|S_VUb#o=wjaM~H<|7fW5t%DO^4O&paKmGZqg zhh@%NoRw;wweQJa7%r$Q8LrbDMgmJnA_V~w>ZqU!6ERv-*TUS|@<-8MsnA{#p~5{Up87 z(V|B{-!^b@-O;2y;Bp5Tc+x~&v?U)+Z?OoxpV2qvf&N<{wC42I-pAn`sOcK7!0nRb6aRHt&A8J?nU00006VoOIv03HAy03OODA%y?{010qNS#tmY zE+YT{E+YYWr9XB6000McNlirueSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{002%&L_t(&-tE*e5r8ldMA1zK8JXz9N<2`Y5fhYP0*XxD z6R>l?xzc-oGO;a5?&JD=cc3Qq*g)%nrNp%-*iDMBN+HB8n=@2|kbSlxQ3 zy=Ov<4Y*d!N?r2E&~SFNVDoy81@ew(5`2=D&GXPtd0@Hk-NVPPW2dB7&i`FpqFp(e z(QabJw3ltJd;Dy+X1<*Bz4P!I70n~hk0`UnPWUnL^`_JLbGrGsZH#kLf{KqMCT+ZN ztVnwEq=iEMLhd4=i)$2LZ#q=jy*X;#rf0T4x$B)Pb1l!7&T8&R7UWb>baE4w);R1m zC9GFOSo2nYeCj8~WoJ%QUXU)mV@F=*C%J;1%wKF@PExd-G=Euu2E+UG zFTR!wzKdzTh$^kle)sqbh4+xwYm_4Xf66y3Uf)9d`? zjf@H$k{rxTK@0S@O}@#f5$)#b;uw-~@9jlHMg|6s!v+pNmnb(it53a9;x)gQ6(|IZ r90mmj1{P492{14)F*slf?%M8}#Be~Rw{itAMj1R^{an^LB{Ts5(#Xe& delta 505 zcmcc1vX3RUGr-TCmrII^fq{Y7)59eQNIL+r00$G0)NFlM$H2hYlIiRm;OXqFP*9Yg zmYI{vz@Ra)cA~AvVF#I`@%BfQrt*~u6rKo}tK%hFctuNOq0DK>C zo4PWsfGNQA^ob>tob>itITQ zzrwuKU5SGE0{;0?R?ll6X=r4lDGV;ezeQ%_t2XeBWh5jvw%%>(qs1j&G+xlI(o8Ywum2-t^T&ZhD=}HF|BRO zt(U)D_L_ymhB-XycziaK@%$y`R#9&_I&zrBugm)0W7aEgIH(?Lq~gwX;fr|pf!~s~ z!EzEiSOb4uyL0c>Z;M)nO;fXy@gy-&Mfy z<}C1tEM{QPQwCwiilz2tKtc8rPhVH|CoKFNh9Y)l$FEMl#i(Jc;pyTS;&J@#c}HFb t1`d`5m;cS(+H7y0;ow{Mngao3bT4dWl)t6C+a72TgQu&X%Q~loCIBBY${PRx diff --git a/core/src/com/dungeoncrawler/view/GameScreen.java b/core/src/com/dungeoncrawler/view/GameScreen.java index d89c1a3..eaf932c 100644 --- a/core/src/com/dungeoncrawler/view/GameScreen.java +++ b/core/src/com/dungeoncrawler/view/GameScreen.java @@ -36,6 +36,7 @@ public class GameScreen { Texture archerTexture; TextureRegion[][] swordsmanRegions; Texture swordsmanTexture; + Texture healthBar; Texture[] arrowTextures; Sprite[] arrowSprites; @@ -60,7 +61,7 @@ public class GameScreen { //PLAYER p = new Texture("player2.png"); - regions = TextureRegion.split(p, 16, 16); + regions = TextureRegion.split(p, 32, 32); player = new Sprite(regions[0][2]); player.setX(200); player.setY(200); @@ -169,6 +170,18 @@ public class GameScreen { if(e[i] != null){ entitySprites[i].setX(e[i].getxPos()); entitySprites[i].setY(e[i].getyPos()); + if(e[i].getHp() < e[i].getMaxhp() && e[i].getHp() > 0){ + healthBar = new Texture("halfHealthEntity.png"); + Sprite healthBarSprite = new Sprite(healthBar); + healthBarSprite.setPosition(e[i].getxPos(), e[i].getyPos()); + healthBarSprite.draw(batch); + } + else if(e[i].getHp() == e[i].getMaxhp()){ + healthBar = new Texture("fullHealthEntity.png"); + Sprite healthBarSprite = new Sprite(healthBar); + healthBarSprite.setPosition(e[i].getxPos(), e[i].getyPos()); + healthBarSprite.draw(batch); + } switch(e[i].getFacing()){ case -1: break; @@ -224,57 +237,81 @@ public class GameScreen { public Entity[] playerAttack(Entity e[], Player p){ if(p.direction() == 0){ - Texture verticalAttack = new Texture("AttackHori.png"); + Texture verticalAttack = new Texture("AttackVert.png"); Sprite verticalAttackSprite = new Sprite(verticalAttack); - verticalAttackSprite.setX(p.getxPos()); - verticalAttackSprite.setY(p.getyPos()); + verticalAttackSprite.setX(p.getxPos()-2f); + verticalAttackSprite.setY(p.getyPos()-2f); for(int i = 0; i< e.length ; i++){ if(e[i] != null){ if(Intersector.overlaps(entitySprites[i].getBoundingRectangle(), verticalAttackSprite.getBoundingRectangle())){ - e[i] = null; - return e; + if(e[i] != null){ + if(e[i].getHp() - p.getDmg() <= 0){ + e[i] = null; + } + else{ + e[i].setHp(e[i].getHp() - p.getDmg()); + } + } } } } } else if(p.direction() == 1){ - Texture horizontalAttack = new Texture("AttackVert.png"); + Texture horizontalAttack = new Texture("AttackHori.png"); Sprite horizontalAttackSprite = new Sprite(horizontalAttack); - horizontalAttackSprite.setX(p.getxPos()); - horizontalAttackSprite.setY(p.getyPos()); + horizontalAttackSprite.setX(p.getxPos()-2f); + horizontalAttackSprite.setY(p.getyPos()-2f); for(int i = 0; i< e.length ; i++){ if(entitySprites[i] != null){ if(Intersector.overlaps(entitySprites[i].getBoundingRectangle(), horizontalAttackSprite.getBoundingRectangle())){ - e[i] = null; - return e; + if(e[i] != null){ + if(e[i].getHp() - p.getDmg() <= 0){ + e[i] = null; + } + else{ + e[i].setHp(e[i].getHp() - p.getDmg()); + } + } } } } } else if(p.direction() == 2){ - Texture verticalAttack = new Texture("AttackHori.png"); + Texture verticalAttack = new Texture("AttackVert.png"); Sprite verticalAttackSprite = new Sprite(verticalAttack); - verticalAttackSprite.setX(p.getxPos()); - verticalAttackSprite.setY(p.getyPos() - 24f); + verticalAttackSprite.setX(p.getxPos()-2f); + verticalAttackSprite.setY(p.getyPos() - 24f-2f); for(int i = 0; i