home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 97
/
097.d81
/
circuitry
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
19KB
|
567 lines
100 rem circuitry
110 rem by john william "the mad gamer"
120 rem harris
140 rem (c) 1991 by john william harris
150 rem sound driver is "sid player",
160 rem by ?????????
170 rem music from previous loadstars
399 rem set up program
400 poke55,0:poke56,120:clr:n=1:s=rnd(-ti):s=54272:vs=52224:v=53248:co=55296-vs
410 poke53281,0:poke53280,0:poke53270,200:poke831,8:poke832,1:print"[147]";
420 poke53272,56:dv=peek(186):ifdv<8thendv=8
500 dims$(9),t$(2),c(2,4),w(9,1),lv(27,3),g$(3,1),p(29),bk$(14)
501 dimo$(1),sw$(1),df$(2),hs$(9),hs(9),bh$(9),bh(9),rk$(9),sp$(1)
502 fora=0to2:forb=0to4:readc(a,b):next:next:sw$(0)="off":sw$(1)="on "
503 sp$(0)="fast":sp$(1)="slow":fora=0to9:reads$(a):next
505 fora=0to9:forb=0to1:readw(a,b):next:next
506 fora=0to27:forb=0to3:readlv(a,b):next:next
507 fora=0to3:forb=0to1:readg$(a,b):next:next
508 fora=0to29:readp(a):next
512 t$(0)=" !"+chr$(34)+"#$%&'()*+,-./012345678"
514 t$(1)="[192][193][194][195][196][197][198][199][200][201][202][203][204][205][206][207][208][209][210][211][212][213][214][215][216]"
515 ln$=" "+chr$(20)+" ":br$=" "
516 t$(2)="[160][161][162][163][164][165][166][167][168][169][170][171][172][173][174][175]"
517 t$(2)=t$(2)+"[176][177][178][179][180][181][182][183][184]"
518 bl$=" "+chr$(20)+" "
519 rem evaluate,?,clrblox,dropblox,#blox,#circuits
520 m1=32768:m2=33249:m3=33328:m4=33382:m5=33507:p1=828:p2=830:wt=22
521 c1=1584:c2=1619:c3=1231:c4=1274:c5=1024:c6=1058:c7=1479:c8=1532
522 f1=57344:f2=f1+2048:f3=f2+2048:f4=f3+2048
523 sysc5,f1:sysc2,f2:sysc1,f1
524 fora=0to9:readbh$(a),bh(a):next:fora=0to9:readrk$(a):next
525 fora=1to14:bk$(a)=bk$(a-1)+"[223]":next
526 open15,dv,15,"r0:big shocks=big shocks":input#15,a$:close15
527 ifa$="62"thengosub14000:goto535
528 open2,dv,2,"0:big shocks,s,r":fora=0to9:input#2,hs$(a):input#2,hs(a):next
529 close2
530 rem default options set here!
535 ft=1:ms=1:zf=0
999 rem credits
1000 poke53272,56:gosub34000
1010 print"[147]";:sysc2,f2:sysc5,f1
1020 print"[159]"tab(7)t$(0):print""tab(7)t$(1):print"[159]"tab(7)t$(2):print"";
1025 m$="by":gosub14999:m$="[202]ohnny [215]illiam '[212]he [205]ad [199]amer' [200]arris":gosub15000
1030 print:print"":m$="[199]ame concept, design, programming and":gosub15000
1040 m$="graphics by [202]ohnny [200]arris":gosub15000
1050 print"[158]":m$="[205]usic by [193]lan [194]eggerow, [196]ave [205]arquis,":gosub15000
1060 m$="[196]ebbie [195]ruz, and [198]ender [212]ucker":gosub15000
1070 print"[150]":m$="[205]usic driver by [195]raig [195]hamberlain":gosub15000
1080 print"[129]":m$="[197]verything else within this program":gosub15000
1090 m$="by [202]ohnny [200]arris.":gosub15000
1100 print"":m$="@ 1992 by [211]oftdisk [208]ublishing":gosub15000
1110 print:print"":m$="[192][192][192][192] [208]lease press [198][201][210][197] [221][221][221][221]":gosub15000:print"";
1120 sysc4,57344,5:gosub13000:sysc3,57344,5
1130 print"[147][150]":m$="[211]pecial thanks to:":gosub15000
1140 print"[158]":m$="[196]ebby [195]ruz and [211]cott [210]esh":gosub15000
1150 m$="for writing [211][201][196][211][205][201][212][200],":gosub15000
1160 print"[153]":m$="[194]rian [197]ddy":gosub15000
1170 m$="for writing [211][195][210][197][197][206] [196][193][218][218][204][197][210],":gosub15000
1180 print"[154]":m$="[202]on [205]attson":gosub15000
1190 m$="for writing [198][213][204][204][198][207][206][212] 2.1,":gosub15000
1200 print"":m$="without which this program, while it":gosub15000
1210 m$="would still have been possible,":gosub15000
1220 m$="wouldn't have been as much fun.":gosub15000
1230 print:print:m$="[192][192][192][192] [208]ress [198][201][210][197] to begin [221][221][221]":gosub15000
1240 sysc4,f1,5:gosub13000:sysc3,f1,5
1999 rem title loop
2000 print"";:sysc2,f2:sysc5,f1:c=int(rnd(1)*3):sysc8,c(c,1)
2002 fora=1to11:print"[144]"ln$:next:fora=4to2step-1:poke646,c(c,a)
2004 println$:println$:next
2008 print"";:sysc7,int(rnd(1)*15)+110
2010 print"[159]"tab(7)t$(0):print"[154]"tab(7)t$(1):print""tab(7)t$(2):print"";
2015 m$="by":gosub14999:m$="[202]ohnny [215]illiam '[212]he [205]ad [199]amer' [200]arris":gosub15000
2020 print""
2030 print"":print"[159][160][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][161]"
2040 print"[165] [164]"
2050 print"[165] [150][208]lay [195][201][210][195][213][201][212][210][217][159] [164]"
2060 print"[165] [150][200]igh [211]core [204]ist[159] [164]"
2070 print"[165] [150][197]nter [207]ptions [211]creen[159] [164]"
2080 print"[165] [150][210]eturn to [204][207][193][196][211][212][193][210][159] [164]"
2090 print"[165] [164]"
2100 print"[162][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][167][163]":sysc4,f1,5:poke53270,200
2110 ns=4:x=9:y=16:gosub16000
2120 onsngoto2800,9100,10000,23000
2798 end
2799 rem begin game
2800 sysc5,f1:sysc2,f2:print"[147]";:sc=0:sg=0:ss=0:fl=0:cd=1
2810 gosub28000:print"":m$="[215]elcome":gosub15500
2812 m$="to":gosub15500:m$="[195][201][210][195][213][201][212][210][217]!":gosub15500:print
2814 m$="[208]lease":gosub15500:m$="select":gosub15500:m$="your first":gosub15500
2816 m$="stage.":gosub15500:print
2818 m$=" [198]irst":gosub15500:m$=" [212]hird":gosub15500
2820 m$=" [198]ifth":gosub15500
2822 sysc6,f1
2824 ns=3:x=24:y=15:gosub16000:sg=(sn-1)*2:x=1000:xr=10+(5*(sn-1))
2826 sysc3,f1,2
2999 rem begin level
3000 print"[147]";:if(ft=1)or(ms=1)thengosub29000
3020 ss=.:lv=sg*3+ss:ifft=0thenc1$="[153]":c2$="[159]":printc1$;::sysc7,110+sg:sysc8,6
3030 gosub18500:printbl$;:gosub27000:gosub18000
3500 ifms=1thengosub21000
3999 rem begin sublevel
4000 gl=lv(lv,.):bv=lv(lv,3):oc=.:op=.:mr=52225+of+(ld-n)*40:mx=mr:gosub24000
4005 cc=0:poke198,.:sp=lv(lv,1)
4020 pl=mx:pp=pl:pokepl,32:cp=int(rnd(n)*bv)+128:nm=sp*6
4022 sysm5,pl,254:ifpeek(780)=.then4025
4023 pl=pl+n:mx=pl:ifpl=mr+w(sg,.)thenfa=n:goto5000
4024 goto4022
4025 pokepl,cp:ifms=nthenifpeek(49152)<>7thengosub22000:gosub21000
4030 fora=.tozf*50:next
4032 geta$:j=peek(56320)
4035 ifj=127anda$=""thennm=nm-.35:ifnm>=.then4030
4040 ifj=123ora$="[157]"thenpp=pl:pl=pl-n:ifpl<mxthenpl=mx
4050 ifj=119ora$=""thenpp=pl:pl=pl+n:ifpl>mr+w(sg,.)-nthenpl=mr+w(sg,.)-n
4060 pokepp,32:pokepl,cp:sysm5,pp,95:sysm5,pl,254
4070 ifj=125ora$=""thenifpeek(780)=.thenpokepl,32:sysm5,pl,cp:goto4500
4075 nm=nm-1:ifnm<.then5600
4080 goto4030
4500 printbl$;:sysm1:ifpeek(830)=.then4910
4502 xx=1:mx=mr:nb=(peek(828)+peek(829)*256)-w(sg,.):nc=1
4510 sysm3:sysm1:ifpeek(830)=.then4530
4515 nb=nb+(peek(828)+peek(829)*256):nc=nc+1:goto4510
4530 sysm4:sysm1:ifpeek(830)=.then4700
4540 nb=nb+(peek(828)+peek(829)*256):nc=nc+1:goto4510
4700 ifnb<30thenprintbl$"blocks over minimum:"nb","p(nb)"points":pt=p(nb):goto4720
4705 printbl$"[215]ow! 200 points x"nb"="nb*200:pt=nb*200
4720 sa=int(pt*(x*.001)+.5):sc=sc+sa:x=x+(nc*nc*xr)*(int(nb/20)+n)
4725 onlv(lv,2)goto4800,4850,4900
4730 gl=gl-nc:gosub24000:ifgl<1then5000
4740 goto4910
4800 gl=gl-nb:gosub24000:ifgl<1then5000
4810 goto4910
4850 gl=gl-pt:gosub24000:ifgl<=.then5000
4860 goto4910
4900 gl=gl-sa:gosub24000:ifgl<=.then5000
4910 ifpeek(157)=128then35000
4911 geta$:ifa$<>"[133]"then4020
4912 ifms=1thengosub22000
4915 sysc2,f4:sysc3,f1,1:gosub28000:printbl$;
4920 print"":m$="[199]ame":gosub15500:m$="paused.":gosub15500
4925 print:m$="[208]ress [198][201][210][197]":gosub15500
4930 m$="to return,":gosub15500:m$="or press":gosub15500
4935 m$="[198]8 to":gosub15500:m$="end game.":gosub15500:sysc4,f1,1
4936 ifft=1thensysc2,f3:goto4940
4937 sysc2,f2
4940 ifpeek(56320)=111ora$=chr$(13)then4970
4950 geta$:ifa$="[140]"thenfa=1:goto5000
4960 goto4940
4970 sysc3,f1,1:gosub18000:gosub24000:sysc4,f1,1
4972 ifms=1thengosub21000
4975 goto4020
4999 rem level over-- for good or bad
5000 poke198,0:iffa=0then5100
5005 fa=0:gosub28000:print"":m$="[199][193][205][197] [207][214][197][210]":gosub15500
5007 ifms=1thenfora=