From 70cb5484a1d8bc8783ca000569a2620319acf994 Mon Sep 17 00:00:00 2001 From: Kevin Anderson <52620906+bitartrate@users.noreply.github.com> Date: Sat, 12 Oct 2019 14:52:28 -0700 Subject: [PATCH] Add files via upload --- SpaceInvaders/bl.pcx | Bin 0 -> 1305 bytes SpaceInvaders/smalien.pcx | Bin 0 -> 966 bytes SpaceInvaders/spaceinvaders.bas | 235 ++++++++++++++++++++++++++++++++ SpaceInvaders/sptitlemode2.pcx | Bin 0 -> 31339 bytes 4 files changed, 235 insertions(+) create mode 100644 SpaceInvaders/bl.pcx create mode 100644 SpaceInvaders/smalien.pcx create mode 100644 SpaceInvaders/spaceinvaders.bas create mode 100644 SpaceInvaders/sptitlemode2.pcx diff --git a/SpaceInvaders/bl.pcx b/SpaceInvaders/bl.pcx new file mode 100644 index 0000000000000000000000000000000000000000..a1bc8ff5eea6c8c647ad79b98900ef0133eba1a9 GIT binary patch literal 1305 zcmb7Be{9o59DPfM)H$&xL+6}OqsBQZRw{AAz)B?!j96*D(NTX?8q`rqDizGAGm#2r z)Y*i(>8!Jcy6LR5MrArGR=TZQ+p&%*6Af5djLt=^ETD5CdEWQi4ac9{T|W2j-Me@1 zas_kpR1j?;=0lsO&6Dv3wLA?j{Lue53_^-Q8pHr31wk4>N z%yEzs=%1y}vHj?S)IEz9xKHN9_Bnc*i;0VKoT%ciKG|x)^=cK||;G|LohLn>FG&rMGI7Kj|R9Pi=*<)yW z7Vi-&C5vJ`Q{*JFQe=!P+p;7ku$X#qOuV2_e34qM)@U?3oz7q|m`oTiY&J_0B|y0v%QRT4E8Jix-E7kCuvYGISlYezu7E2M_Iw}p|CSE@ zn~5-+BA)=ZL%kcCCg|EOF?3#SiZ8N`EO(sQ;N|83cZ9ho$~V*eAj1P$CaDLEP@Csy zZ1Z)_8w~EHCf{mnP;$hc^$x!j7=0}~@oto#rP-6=w^{y7z@mm-GtZ@4;4v)rn^uOb z>mrUvQ{KAqK*LnHh0zYC4>EI@*%Ra+#9RxmwBtq>ZueYzkN=tnLpMJeS@B%z;imDY z+oqoHn;g^4NK+a#i9W}dA+l2ZyGHDoPWPd1b7 zWS7WaZA6V3wYL0vXHm2J`gY%KUBSB(G27U%b8^(p2_G3GKP9`#Z;0!l)51YD%d)H>tFQvN4|oLFg2FnKHbC2g$_`itU_TDm@9>;0 z@UtYu@(7ouxONk;4cK)V8W*DV7VN(hz4znjV>tZ+_$v4|_>qcV6?3qRKUVP1swEd= z)m2!36E@y~t!uEe8hdN7uNH^iz>)WH@(Y~mSMgXe$I3XV-enfc3|rTlU%0+s{!iho0)9i=X4Jr`B_udp0gYEQ0q z{UCY9H~FWwg}5ui#uQtp^8=0Z(7FKo7o&G&{?T{C!Uq9eP=R$9*{>^(YFE8)C@4fHk z6-_H}!I2q`x(nO|Q}H=TK@rX!^#6t&`r^Gnybtl*8T;3rO*pCEDRVS_5Xd=U&guKF z>Y#FQ45HYXCkTQlijpMBvaBeIs;Zi%>AIdwCNr6gVHl=qT9#$oHc6BLl>!!uSRoa! zk;~UB?k#Hd4$a@G2YZs?flTykBk{AD{>#eJ&XW%Vn;~q6*aE5Je7XBlrGKtEyhuB} zM(6q@w`91(;L9f8w7AdaAU%K=f^V7_m@S2_mLm(4*fKS>TFX754?UY4c`-Bon!)!> z9<=zS%^wK(1q8*JVQEfOo|jOTq}7#K?SZ`BFqUkZ%(T(yqPd^eVcN&ZUy1YlxHyPw z!ni4V!R?95?nz(wNOtj)`TJVN9_yHVs+-UEbJsBU{Kyag;Grr0wVP459rZ0}>_BUG zQD=Wy&v50y>E)xWonReVPd1XRWGC6<@UQiv&WHLyVPmMIHF8yF?8ctdZ3DT$=ul{4 zB*O6+nIhjMd&w_|DE_1xpVuj5rvIdKRJAwOw z4Jd9vc@x}isP2OQ5Q5(#{0pLg7bRGhW@VNO^IWkG*aU355Y3mP{d(-Z1$}qn=z}=* zH24De3iy_bAC>a63Vv6`-)iR1z|u>w>RPP585@^lYb|!xVRtu&8f>V7gz+` z;rtE7L6nE#j!v&mT;$)kAUL=z{LSj<*t*2zrZl%@*_>zlS^hxtOtjCz-g)R-Qh0P_ z$*Bz310:xas=INT(RND(1*305)):WEND +230 scrol=0:blockboundr=55:direc=3:bullet=0 +240 blockspdmax=40:rbounddet=0:alienbullet=0 +250 tpbound=20:ships=3:hit=0 +260 'setup screen +270 xb=20:yb=20:x1b=20:y1b=30 +290 BG 0 TILES 16,14 +300 BG 0 PATTERN 0,177,320 +310 BG 0 WINDOW 0,177,320,23 ON +350 LOAD PCX "bl.pcx" AS SPRITE 0 +360 SPRITE 0 SIZE 31,21 KEY 0 +370 MOVE SPRITE 0 TO xp,yp +380 SPRITE 0 ON +390 GPRINT 0,0,"SHIPS: ";ships; +400 GPRINT 130,0,"SCORE "; +410 'alien horde +430 LOAD PCX "smalien.pcx" AS SPRITE 1 +440 SPRITE 1 SIZE 10,10 KEY 0 +450 MOVE SPRITE 1 TO xb,yb +460 SPRITE 1 ON +470 FOR field=20 TO 220 STEP 20 +480 SOUND 0,1,10,50 +490 BLIT xb,yb TO xb+field,yb SIZE 10,10 +500 SPRITE 1 OFF +510 WAIT 100 +520 NEXT field +530 FOR field=20 TO 96 STEP 20 +540 SOUND 0,1,10,1000 +550 BLIT xb,yb TO xb,yb+field SIZE 229,10 +560 WAIT 500 +570 NEXT field +600 'main loop +610 GOSUB &input +620 GOSUB &player +640 GOSUB &shot +660 GOSUB &alienshot +670 GOSUB &block +690 'update loop +720 GOTO 600 +730 &input +770 cc=cc+1 +780 IF cc>=5 THEN +790 cursor=PAD(0) +800 IF cursor AND 1 THEN xp=xp-1:x1p=x1p-1 +810 IF cursor AND 4 THEN xp=xp+1:x1p=x1p+1 +820 cc=0 +830 ENDIF +840 IF bullet=0 THEN +850 IF cursor AND 256 THEN +860 bullet=1:xs=xp+16 +870 shot=shot+1 +880 SOUND 0,0,10,100 +890 ENDIF 'ends bullet press logic +900 ENDIF +910 RETURN +920 &player +930 IF xp<=10 THEN xp=10 +940 IF xp>=283 THEN xp=283 +950 MOVE SPRITE 0 TO xp,yp +970 RETURN +980 &shot +990 IF bullet=1 THEN PSET xs,ys,15 +1020 IF ys<=191 THEN +1030 bulletsense(0,0)=xs:bulletsense(0,1)=ys-1 +1040 bulletsense(1,0)=xs-1:bulletsense(1,1)=ys-1 +1050 bulletsense(2,0)=xs+1:bulletsense(2,1)=ys-1 +1060 WHILE pxl<3 +1070 px=POINT(bulletsense(pxl,0),bulletsense(pxl,1)) +1080 IF px=132 THEN +1090 RECT bulletsense(pxl,0)-8,bulletsense(pxl,1)-8,bulletsense(pxl,0)+10,bulletsense(pxl,1)+8,0,0 +1100 bullet=0 +1120 PSET xs,ys,0:ys=189 +1130 SOUND 2,0,10,1000 +1140 hit=hit+1:GPRINT 180,0,hit; +1150 pxl=3:'get out of/loop +1160 IF hit=60 THEN SOUND 2,110,50,1000:GPRINT 130,85,"YOU WIN!"; +1170 ENDIF +1180 pxl=pxl+1 +1190 WEND +1200 ENDIF +1205 IF hit=60 THEN WAIT 500:GOSUB &endgame +1210 pxl=0:'reinitialize while/pxl/loop +1230 IF ys<=10 THEN +1240 PSET xs,ys,0 +1250 bullet=0:ys=189 +1260 ENDIF:'erase bullet and move +1270 IF bullet=1 THEN +1280 PSET xs,ys,0 +1290 ys=ys-0.3 +1300 ENDIF +1310 ENDIF:REM this ends the bullet=0 +1320 RETURN +1330 &block +1340 block=block+1:'related to hoard speed below +1370 'next if sets speed of hoard +1380 IF block=blockspdmax THEN +1390 SOUND 1,10,20,50 +1400 block=0 +1410 scrol=scrol+1 +1430 GSCROLL 0,20,319,175,direc:'left 3 +1440 IF scrol>=blockboundr THEN +1450 GOSUB &checkrightboundary +1460 IF scrol>=blockboundr THEN +1480 IF direc=3 THEN +1490 direc=2 +1500 ELSE +1510 direc=3 +1520 ENDIF +1530 scrol=0 +1540 ENDIF +1550 ENDIF +1560 ENDIF +1570 RETURN +1710 &checkrightboundary +1720 FOR bound=tpbound TO 176 +1730 rbound=bound:lbound=bound +1780 IF POINT(20,lbound)=132 THEN ldetect=1 +1790 IF POINT(300,rbound)=132 THEN rdetect=1 +1800 IF ldetect=1 OR rdetect=1 THEN +1810 bound=176 +1820 tpbound=tpbound+1 +1830 ENDIF +1850 NEXT bound +1860 IF ldetect=0 AND direc=2 THEN blockboundr=blockboundr+20 +1870 IF rdetect=0 AND direc=3 THEN blockboundr=blockboundr+20 +1880 IF ldetect=1 OR rdetect=1 THEN GOSUB &movedown +1890 ldetect=0:rdetect=0 +1900 RETURN +1910 &movedown +1920 DO:GSCROLL 0,20,319,176,1:dn=dn+1:LOOP UNTIL dn=5 +1930 dn=0 +1935 yasmax=yasmax+5 +1950 PSET xs,ys,0:PSET xs,ys+1,0 +1960 PSET xs-1,ys,0:PSET xs+1,ys,0 +1970 PSET xs-1,ys+1,0:PSET xs+1,ys+1,0 +1980 FOR squash=10 TO 309 +1990 IF POINT(squash,176)=132 THEN +2000 GOTO &endgame +2010 ENDIF +2030 NEXT squash +2040 RETURN +2390 &alienshot +2400 alienbullet=1 +2410 IF alienbullet=1 THEN +2430 PSET xas,yas,15 +2440 ENDIF +2450 REM speed of alien bullet +2460 alienshotwait=alienshotwait+1 +2470 IF alienshotwait<=20 THEN +2480 PSET xas+1,yas,0:PSET xas-1,yas,0:PSET xas,yas,15 +2490 RETURN +2500 ENDIF +2510 PSET xas+1,yas,0:PSET xas-1,yas,0:PSET xas,yas,15 +2520 alienshotwait=0:REM speed of alien bullet +2540 IF yas>=175 THEN +2550 bulletsensealien(0,0)=xas:bulletsensealien(0,1)=yas-1 +2560 bulletsensealien(1,0)=xas-1:bulletsensealien(1,1)=yas-1 +2570 bulletsensealien(2,0)=xas+1:bulletsensealien(2,1)=yas+1 +2580 WHILE pxlalien<3 +2590 pax=POINT(bulletsensealien(pxlalien,0),bulletsensealien(pxlalien,1)) +2610 IF pax=73 THEN +2620 GOSUB &yourdead +2630 alienbullet=0 +2640 PSET xas,yas,0:yas=yasmax +2660 ships=ships-1:GPRINT 56,0,ships; +2670 IF ships=0 THEN GOSUB &endgame +2680 xas=INT(RND(5*305)) +2690 WHILE xas<11 OR xas>310:xas=INT(RND(1*305)):WEND +2700 pxlalien=3:REM get out of/loop +2710 ENDIF +2720 pxlalien=pxlalien+1 +2730 WEND +2740 ENDIF +2750 pxlalien=0:REM reinit while/pxlalien/loop +2760 IF yas>=199 THEN +2770 PSET xas,yas,0 +2780 alienbullet=0:yas=yasmax +2790 xas=INT(RND(1*305)):REM don'tdel +2800 WHILE xas<11 OR xas>310:xas=INT(RND(1*305)):WEND +2810 ENDIF +2830 IF alienbullet=1 THEN +2840 PSET xas,yas,0 +2850 yas=yas+1 +2860 ENDIF +2870 RETURN +2880 &yourdead +2885 IF cursor>0 THEN cursor=0 +2890 part=INT(RND(1*20))+5 +2900 DIM partsx(part+2) +2905 DIM partsy(part+2) +2910 FOR a=1 TO part +2920 partsx(a)=INT(RND(1*50)) +2930 partsy(a)=INT(RND(1*50)) +2940 NEXT a +2950 FOR ecl=1 TO 2 +2960 IF ecl=1 THEN ec=75 +2970 IF ecl=2 THEN ec=0 +2980 FOR a=1 TO part +2982 IF xas-partsx(a)<5 THEN partsx(a)=0 +2984 IF xas+partsx(a)>305 THEN partsx(a)=0 +2990 LINE xas,195,xas+partsx(a),yas-partsy(a),ec +2995 LINE xas,185,xas-partsx(a),yas-partsy(a),ec +3000 NEXT a +3080 SOUND 2,0,10,1000 +3090 WAIT 400 +3100 NEXT ecl +3110 RETURN +3120 &endgame +3130 GPRINT 120,100,"GAME OVER"; +3140 FOR aaa=1 TO 10:PALETTE 1:WAIT 100:PALETTE 0:WAIT 100:NEXT aaa +3150 GPRINT 60,120,"<<>>"; +3200 WHILE KEY(90)=0:WEND +3203 BG 0 WINDOW 0,177,320,23 OFF +3205 GOTO 100 +3210 RETURN diff --git a/SpaceInvaders/sptitlemode2.pcx b/SpaceInvaders/sptitlemode2.pcx new file mode 100644 index 0000000000000000000000000000000000000000..1257a2f1781d89f2bea5c9d57222c294da33e7fb GIT binary patch literal 31339 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 d?8(3SnP2&vKi&Mj-`#Bgt2bV_mVW%<{|{0i