home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 97 / 097.d81 / circuitry (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  19KB  |  567 lines

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