From 257318926ddaea87f695af75fa76848f4c2c7ac3 Mon Sep 17 00:00:00 2001 From: iegod Date: Thu, 21 Nov 2024 16:26:25 -0500 Subject: [PATCH] Added weapon system. Animated laser. --- assets/imagebank.go | 4 ++ assets/laserbeam.png | Bin 0 -> 786 bytes assets/splash.png | Bin 470 -> 615 bytes elements/laser.go | 36 ++++++++++++------ gamedata/gameinputs.go | 17 +++++---- gamedata/weapontype.go | 9 +++++ gameelement/canvas.go | 81 ++++++++++++++++++++++++++--------------- screens/primary.go | 1 + weapons/gun.go | 26 +++++++++++++ weapons/holster.go | 51 ++++++++++++++++++++++++++ weapons/laser.go | 26 +++++++++++++ weapons/weapon.go | 9 +++++ 12 files changed, 210 insertions(+), 50 deletions(-) create mode 100644 assets/laserbeam.png create mode 100644 gamedata/weapontype.go create mode 100644 weapons/gun.go create mode 100644 weapons/holster.go create mode 100644 weapons/laser.go create mode 100644 weapons/weapon.go diff --git a/assets/imagebank.go b/assets/imagebank.go index cadfdb6..a13b5b9 100644 --- a/assets/imagebank.go +++ b/assets/imagebank.go @@ -28,6 +28,7 @@ const ( Cloud ImgAssetName = "Cloud" Fireball ImgAssetName = "Fireball" Splash ImgAssetName = "Splash" + LaserBeam ImgAssetName = "LaserBeam" ) var ( @@ -63,6 +64,8 @@ var ( fireball_img []byte //go:embed splash.png splash_img []byte + //go:embed laserbeam.png + laserbeam_img []byte ) func LoadImages() { @@ -83,6 +86,7 @@ func LoadImages() { ImageBank[Cloud] = LoadImagesFatal(cloud_img) ImageBank[Fireball] = LoadImagesFatal(fireball_img) ImageBank[Splash] = LoadImagesFatal(splash_img) + ImageBank[LaserBeam] = LoadImagesFatal(laserbeam_img) } diff --git a/assets/laserbeam.png b/assets/laserbeam.png new file mode 100644 index 0000000000000000000000000000000000000000..ce8e65efabd165266c82da0e1d155d4cb0fc8324 GIT binary patch literal 786 zcmV+t1MU2YP)5C%{(qb{N@T##}}Svja6xeBEY=A;Qt6Dx}PA%uPJXme~3!kQ$spWJmoQNQ&7 z*v{c}9+n<^{Me^lD_>4Jny{=B)S~h0y!3UQTN@eHM89OR)=cO-$o3cX(XZp>=e005 zCH*an1X@)p^4;$9=c~s8Rr&L~FJ1xrVHjLNNUiV71@hyS1A%v=Kp>z%Ah7%O`FHCv zK(#!ilb(lkD2R%q>)c{N$Q1+vFYlq5wzf>);?K|&cWeLKwPRayt@Y{nv7c>^de+=* zKH*sxLf7e@UL!+;Bme-Amj@lb$(FQ?tj;4}v_3(Z$f|!=JP}#-Wm-6IS@klRbkdtE z<}(<$;EWXf=iTw1L`* z$)WWe`$GpM$G%Jp=ba_TE|X4rQBlgILqNMb>1lU|m9)D7*x<4l4;vk)FU5tfW97pg>43+Ne?>(3Ois zfso#1n|H2A>|&AHbO-BjIuGObMP$-pWSlZQe(ZahbeI_5a^2jka&O;EtuaUWcKP-> zt559Of|@&~bX<+zdF=PnJ^kN9PPR0m*(MVJ0JzFC0?l|v5_55Z)Ve(zu^W@aGqddB z51aeNwQqmQvM5C|v`2q+K;C=duJ z5K{Ah(%}xSAQ0HBAE%XUyDWR#S@z8b*jl#zoyPiTEp|^=HE7v(0H6*3081Nj_y7O^ literal 0 HcmV?d00001 diff --git a/assets/splash.png b/assets/splash.png index e09a4a300ae8e257e9ddbccd2a19e5af59b0722f..cb9d909940ed0540e20dd99fb2f62a31757abf6b 100644 GIT binary patch delta 591 zcmV-V0zfNTGn5iX)`v63}x1Dh@!O zT!K1BprR%PNGLghQ!fQtv0BZ}&+Zt6AYUF?fYPPel-j( z-#%?=ToQc@KbL2nTZ~Am-=2z31?ODd&5QTWpWd3?RrNp=&wmLAc=2ACBTy25^LPya z`1srx+j>Mi$J7Io_!46XkEjh$;w9n0xZ(lB5Zd;A;KXx7hojY?s&O8DFYy#sLuv!Z z5X{1Nn*)3Q;`WTZZZRP~m_|P}z=@ZHmq-n1O|X;LOFR{6>bZEW)H4)KsYFRYgcFk9 z%iHZX2fW{327gU2un$mUzZ89o_!9X$Gzs5{`74SK*NCUuX)@fR0c(0(5;1oB<{n6+ z-zvW5J*)w0?f3Yo1!*LhRw3(-%k2kVhFvCc4Yj*;j_W?45s?btZ4S*n!S=wc>+t;W z()58G@44bOge>`wrwNmR<$^!s)+TW|uj@Tt*SZCxXn!Ex#<^jXM^j_M%P8P9geVgw zk&<|Aw1PsM12FL6^%~B~!KHfri>> z#9C&gNJ#gY(G8?%OYD-VXuv8SaQH*R9XK@mM#Ke|(Qw93j@1IQj&&NYD_Ab+zB|QS+EVRfU z&j&ch$M-euLdb!VJVROyIs+N)HgDk~as z0TM8hd@lxa;DhS`GjMdLD*GX|rzs#>xU$L}M5=TRLw_Cc3fS#(Pdo8)2h?lD6@Z>=nDdWPgw%oPAufZa0QBCb%qAj2DOBP> zO+<^N+NGhVQ4hVC>sY