From 60deea7682fb3cae9a076c6b58db4e3078f19fa5 Mon Sep 17 00:00:00 2001 From: stevenhowes <38082088+stevenhowes@users.noreply.github.com> Date: Sat, 30 Jan 2021 22:10:54 +0000 Subject: [PATCH] Space dust and proper key handling/animations (no art yet) --- !TheEscape/!RunImage,ffb | Bin 2836 -> 3455 bytes !TheEscape/!RunImage,ffb.bas | 46 +++++++++++++++++++++++------------ !TheEscape/Spr,ff9 | Bin 57104 -> 65640 bytes 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/!TheEscape/!RunImage,ffb b/!TheEscape/!RunImage,ffb index 8afed5f9a450a84201add77f42a4bde2bf880a21..bd58cfd256fec677583f01fd977215b67087ac00 100644 GIT binary patch literal 3455 zcmb7G3us$q6wc#bAJenVIp=#Gvt}l1syAuct!16Mm2T5&%QAI}SnrZQ&DHeYaPN(4 zMMOkIbchofDk7pHGDJj&h=_=a3{epg5g)@Bo9NUzs)+dd{{QBtX`7)2T9WghbN=r? zkMA6cEYK*jbit9a3DdGEvRwayA}NS+Cw|VMaP2wF)4ZYXy2AE(+%;AvwIoy zw#%HG#HesL;BnHFB98(77U2mW4r_%P^hFXNaIy!F+pD5cs5m<=s8}VzC9%Ce&LzvM z;k^`j^(5v&DH^H69c=c&=7Y0Th-#u3hQmWVGWkA)Y77riZ1MuNxi}oB`!NI7x8+_6Gg`^ zd0Z1NmtAv0aM7$5J&K;Tm|4chlX2KZ(F7c1R!RrR+a#b&=6ZU0{m?xJdbV1XUpcghijfZTUzaVh!Z1)vGr5FNMy3vTt>D8MW2P+ zmyVYTpHlR7{CEdNH!tPUj}}QO^8q$8h}#!820!mSS{0}qw^T=%^ttk|YUavAeTsfp z2(Fq_ZlMA)aYRYg&~h^TDHC2<x7k-!YAqn$kPf#d{VO!}PKIx;xY&zn6IzJ;Wz%Vj--}BgOa+%*Wm>+N5BF37677Q{LC5*jNIOOB6wWGN1fa2nB!~R2zIK`YhEWcP`**s0-{Rw#nG5{fB z#_bHgWci+kgyP@A!x2>SpZo;H|IkP~M*otu#rSf@(rMl-YnUstsPPKYIta^2qms4r zQGTm1dGe&KL5&>br&3+nTrQ1H)YhvMwghrc|F{X#hB3$5&ih7hb~1`VyYgzOH9rk- z*hbjNsab0UuWHYfY0|F8OnaBK8!%xN^jxn(?*9w&Dv;m$pOD}6zmS8{|10wQ1LTi{ z$g`^z@~8S_q}mYUETS}!{N|b@iIcSF0)H>d%)g1uzqbU9qLwS{2iQGG`*;cR-b$+4 zS7`P_n3z2n5!#_a#RuE^aeIP0`Hj^4)TD88bwB>iKa>rm{fg!RJ8c*pl1kD?+X<&f zfKtcqtS?<5QG$}$1=Cwt5W3`wVBhF*!NH;|NMF84!G=!CPLrO(9=kO;u&dMV{{;oV zi`U^N={f0fEj$jb#QsrnTn--$gf6SxcZtxSs<_71%yQP@B+**nd{Sj4=>dd6i76Qzqi->C|l zopPB?$u9K?_M8c^qas{9_4ac=pR>O;E|bYM8J0WWSk1?tr0>R9 zZmdv4P{sSe-+)-xPK;MeJWs0WzzTM+h}Et*=nnI1;Ynu^QFqzHIZ_OHMfoZXSHiK!y zD&$fN;Cj0banv?V%uM0`!;(>#cmfJNnTrGxd$^GcxcCc>}F%ytntCF|7q zz}+pj@8ol+O(dtcFO-B9jm3JR$(dppSeCFNeGk(2*g6~h2G~<{cwS!StqOZt`rV-_ z_6AwrkqLKWn0@HCDa2*x+WFa1VV1f(<;0!__9c<$yN6}kLOnc7bc8)2!ry(b)?5V#<+9hg161O_eFGm8TqUQTY?H;AsjepN!eea=MtB zpSB#~BbvQYqBw13je;g$@kFYWvlMVne&K1aReqw4Az_~ZX+ly%?xFxI&`3u&V8iNfA|up!*tl`{sGk6=;yA66&$k#!feV+=L|Cg>b>wCF0ZPl z7IxW-I5jakF^I{Tl!=C!Hs*}xtyvQ7*W431HahUU8ZvX)~}S`CencE83M1Wr^{BZ zGOwj=SfXW&>pJj&JX15WyKSw&&@gU^Q32i^u!m1;IW86kQNu3$C_j7jr^1QFE_3h_skVs2 zbOipi9rXf59g~N>Z3=%=zUOUG_`C9)x8KV@w!LS_`;~0=^(p*Ed8==8kS|fE7cnQy zOeq_Vk{%*8T`1Ax=a=O{-&W?5CwxIxBfs_q8yo0xuK}Sxk}B2@?pEo8FpJ0@=neF& SPpkpp9^&BMLEj{YtN#NCfM*;4 diff --git a/!TheEscape/!RunImage,ffb.bas b/!TheEscape/!RunImage,ffb.bas index 23b79c6..c9b51ae 100644 --- a/!TheEscape/!RunImage,ffb.bas +++ b/!TheEscape/!RunImage,ffb.bas @@ -12,11 +12,18 @@ DEF PROC_main PlayerVelocity%=0 PlayerShields%=100 PlayerStructuralIntegrity%=100 - XMovePerCent%=5 + XMovePerCent%=10 + ResetShipSprite% = 0 REM Show/hide debug display DebugOut%=0 + DIM SpecLocations%(1,49) + FOR Spec%=0 TO 49 + SpecLocations%(0,Spec%) = RND(1600) + SpecLocations%(1,Spec%) = RND(1200) + NEXT Spec% + REM Used for centiseconds per frame calcs Cents% = TIME @@ -34,10 +41,18 @@ DEF PROC_main REM Set grpahics buffer to one that's not in use SYS "OS_Byte",112,Scr% - - CLS + FOR Spec%=0 TO 49 + GCOL 0,0 + LINE SpecLocations%(0,Spec%),SpecLocations%(1,Spec%),SpecLocations%(0,Spec%),SpecLocations%(1,Spec%) + SpecLocations%(1,Spec%) = SpecLocations%(1,Spec%) - (Cents% - LastCents%) + IF SpecLocations%(1,Spec%) < 0 THEN + SpecLocations%(1,Spec%) = 1200 + SpecLocations%(0,Spec%) = RND(1600) + ENDIF + NEXT Spec% + REM Draw LCARS in top left PROCdraw_sprite("lcars",0,940) @@ -45,6 +60,10 @@ DEF PROC_main PROCdebugoutput ENDIF + IF Cents% > ResetShipSprite% THEN + ShipSprite$ = "player_ship" + ENDIF + REM Handle Key inputs PROCinputs @@ -68,7 +87,7 @@ DEF PROC_main PRINT PlayerVelocity% REM Draw player ship - PROCdraw_sprite("player_ship",PlayerLocation%(0),PlayerLocation%(1)) + PROCdraw_sprite(ShipSprite$,PlayerLocation%(0),PlayerLocation%(1)) REM Wait for rendering to complete WAIT @@ -85,16 +104,18 @@ ENDPROC REM Input handling DEF PROCinputs - REM TODO: Scan individual keys so we can handle specials (e.g. arrows) - KEY = INKEY(0) - - IF KEY = 100 THEN + *FX 4 + IF INKEY(-122) THEN + ShipSprite$ = "player_shipr" + ResetShipSprite% = Cents% + 20 PlayerLocation%(0) = PlayerLocation%(0) + (XMovePerCent% * (Cents% - LastCents%)) ENDIF - IF KEY = 97 THEN + IF INKEY(-26) THEN + ShipSprite$ = "player_shipl" + ResetShipSprite% = Cents% + 20 PlayerLocation%(0) = PlayerLocation%(0) - (XMovePerCent% * (Cents% - LastCents%)) ENDIF - IF KEY = 113 THEN + IF INKEY(-17) THEN IF DebugOut% = 1 THEN DebugOut% = 0 ELSE DebugOut% = 1 ENDIF ENDPROC @@ -103,11 +124,6 @@ REM Debug prints DEF PROCdebugoutput MOVE 0,500 PRINT "X: " + STR$(PlayerLocation%(0)) " Y: " STR$(PlayerLocation%(1)) - IF KEY <> -1 THEN - PRINT "Key: " + STR$(KEY) - ELSE - PRINT "Key:" - ENDIF PRINT "CPF: " + STR$(Cents% - LastCents%) ENDPROC diff --git a/!TheEscape/Spr,ff9 b/!TheEscape/Spr,ff9 index 63a847546d91f55e0823c8f44199b2c6344c510b..1d9182d863a09fea3381b3d0f726346bb827abe2 100644 GIT binary patch delta 1254 zcmb7@Jx&8L5QUAr30XEp3WJi=^r`4_01g3SDUgViA_^6v2qh)bwj6;5rH{l7EMI_@ zhMJZ)V~_3KK*5uuwf)VX$CKxs{(LN|o>FRr-%=gCRlSeVD>kd;_5IEI>h5;2T5iva zSy33Mc^FI&X#q7agYm{Mjj`4tfXG?MIVZHmwN`=W82$hx;fZ?lz%_()ma)(8*uW5B ze=^9tQ3%x|{0vIefHJm*0Q_5+sK?d?PWeR}3M_J|0O6gl6xcaV+i-z&&{=hP?7!G` z4fuL|3I7^<9F76wlP;jMw@U^&hq*B^e~1wbs8f6*Wl56ILg7kfGlF&2VvU{RnTj!R z(k?)`W>)p%JkG0W-y3f)s;9C$#%ql6qS(|B*GA9w%g_>s{HsT<+_J0%wFFApmP&I0BZTK)|G;KMvX^IjgO>UQN= zHm=!~C$ZGMXW{O~q_m?dxk)HCND}e(Z|8_yRsH~j C-+jOU delta 22 ccmaFSz%pSUGdD8>1A_n%i`-|}$jy2m075neZvX%Q