home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 58 / 058side2.d64 / snig (.txt) < prev    next >
Commodore BASIC  |  2022-08-29  |  15KB  |  377 lines

  1. 10 poke650,128:gosub2870:dimmu(236):forz=1to236:readmu(z):next
  2. 20 goto2130
  3. 30 forpv=ito.step-i:onfnjo(pv)goto50,50,100,120,120,120,100,100,100,100:goto50
  4. 40 sysmt,pv+i,xp(pv),yv(pv)
  5. 50 iffntr(pv)=16thengosub870:a$=str$(p3(wa(pv))):goto880
  6. 60 next:goto30
  7. 70 gosub2950
  8. 80 mt=51730:sysmt,3,0,0:gosub2690:gosub1040
  9. 90 gosub1040:n1=int(rnd(0)*(r2-r1)+r1):n2=int(rnd(0)*(r4-r3)+r3):gosub1980:gosub2360:goto1070
  10. 100 xp(pv)=xp(pv)+xs:wa(pv)=wa(pv)+i:ifxp(pv)>xhthenxp(pv)=xl:wa(pv)=i
  11. 110 syssr,pv,5,12,17,sn(pv):goto40
  12. 120 xp(pv)=xp(pv)-xs:wa(pv)=wa(pv)-i:ifxp(pv)<xlthenxp(pv)=xh:wa(pv)=pn
  13. 130 syssr,pv,5,12,17,sn(pv):goto40
  14. 140 gosub2760
  15. 150 poke53275,6:ifsm<=999thenpn=9:goto170
  16. 160 pn=7
  17. 170 v=53248:pokev+21,31:poke2040,13:poke2041,14:poke2042,14:poke2043,15
  18. 180 poke2044,34:pokev,149:pokev+i,123:poke53277,31:poke53271,31
  19. 190 pokev+39,7:pokev+40,4:pokev+41,8
  20. 200 forlp=ito2:sysmt,lp,o,o:next
  21. 210 forz=itopn:po(z)=sm+int(rnd(o)*38)-19:ifsm<=19then260
  22. 220 gosub400:ifrp<2thenpo(z)=sm-10
  23. 230 ifrp>8andrp<11thenpo(z)=sm
  24. 240 ifrp>8andrp<11thenpo(z)=sm
  25. 250 ifrp>17thenpo(z)=sm+10
  26. 260 poke198,0:po(z)=abs(po(z)):getkey$:if key$="[136]"thenprint"[147]":gosub2870:goto20
  27. 270 ifsm>=i9andpo(z)<=i9thenpo(z)=11+int(rnd(o)*8)+i
  28. 280 ifsm<=i9andpo(z)>=i9thenpo(z)=i9-int(rnd(o)*8)
  29. 290 ifsm<=99andpo(z)>=100thengosub400:po(z)=po(z)-rp:goto290
  30. 300 ifsm>=100andpo(z)<=99thengosub400:po(z)=po(z)+rp:goto300
  31. 310 ifsm<=999andpo(z)>999thengosub400:po(z)=po(z)-rp:goto310
  32. 320 ifsm>999andpo(z)<1000thengosub400:po(z)=po(z)+rp:goto320
  33. 330 nextz:forz=itopn:gosub410
  34. 340 p1(z)=po(r):gosub410:p2(z)=po(r):nextz
  35. 350 gosub410:p1(r)=sm:gosub410:p2(r)=sm:xp=104:cd=134:nc=12:ns=2:tv=10:xh=232
  36. 360 ifsm>i9thentv=6:cd=146:xp=80:xh=273
  37. 370 ifsm>99thenxp=48:xh=305:tv=2:cd=158:nc=35:ns=o
  38. 380 ifsm>999thencd=194:xh=290
  39. 390 wa=i:goto440
  40. 400 rp=int(rnd(o)*19)+i:return
  41. 410 r=int(rnd(o)*pn)+i:return
  42. 420 poke164,cd:poke165,11:poke166,128:poke167,3:poke168,nc:poke170,ns
  43. 430 sysml  :return
  44. 440 print"[159]";"[144]                                        [146]"
  45. 450 print"";"[144]                                        [146]"
  46. 460 yp=5:xo=tv:gosub3610:forz=itopn:print"[144]"p1(z)"[157]";:next:print"[146]"
  47. 470 printtab(tv);:forz=itopn:print"[144]"p2(z)"[157]";:next:print"[146]";
  48. 480 a$=str$(n1):forz=len(a$)to2step-i
  49. 490 poke164,9*val(mid$(a$,z,i)):poke166,(69-len(a$))+z:sysml:next
  50. 500 a$=str$(n2):forz=len(a$)to2step-i:poke164,9*val(mid$(a$,z,i))
  51. 510 poke166,(90-len(a$))+z:sysml:next
  52. 520 poke164,9*fs:poke166,91:sysml
  53. 530 gosub420:a$=str$(sm):xl=xp:xs=(len(a$)*8)
  54. 540 ifsg=2thengosub2860:gosub2820:xp(o)=xp:xp(i)=xp:wa(o)=i:wa(i)=i:goto600
  55. 550 goto670
  56. 560 xp=xp+xs:wa=wa+i:ifxp>xhthenxp=xl:wa=i
  57. 570 syssr,i,8,12,17,sn(pv):goto620
  58. 580 xp=xp-xs:wa=wa-i:ifxp<xlthenxp=xh:wa=pn
  59. 590 syssr,i,8,12,17,sn(pv):goto620
  60. 600 sysmt,i,xp(o),yv(o):sysmt,2,xp(i),yv(i):goto30
  61. 610 onfnjo(pv)goto630,630,560,580,580,580,560,560,560,560:goto630
  62. 620 sysmt,pv+i,xp,yv(pv)
  63. 630 iffntr(pv)=16thena$=str$(p3(wa)):goto880
  64. 640 print"[145]"tab(3)mid$(ti$,4,i)":"right$(ti$,2)
  65. 650 iffnmi(o)=l3andfnse(o)=l4thengosub1170:gosub1020:goto90
  66. 660 goto610
  67. 670 print"":ti$="000001":ss=o
  68. 680 tr=(fntr(o)=o)-(fntr(i)=o):ifval(right$(ti$,2))>ssthensyssr,i,6,12,17,6000
  69. 690 ss=fnse(o):print"[145][156]"tab(3)mid$(ti$,4,i)":"right$(ti$,2)
  70. 700 iffnmi(o)=l1andfnse(o)=l2thengosub1170:goto90
  71. 710 iftr=othengoto680
  72. 720 iftr=ithengosub760
  73. 730 iftr=-ithengosub800
  74. 740 print"":ti$="000001":sysmt,pv+i,xp,yv(pv):forlp=9to16
  75. 750 pokepc(pv),lp:syssr,i,8,12,65,lp*650,1950:next:poke53288,3:poke53289,5:goto610
  76. 760 forz=itopn:p3(z)=p1(z)
  77. 770 poke198,0:get key$:if key$="[136]" then gosub2870:goto20
  78. 780 next:pv=0
  79. 790 return
  80. 800 forz=itopn:p3(z)=p2(z)
  81. 810 poke198,0:get key$:if key$="[136]" then gosub2870:goto20
  82. 820 next:pv=i
  83. 830 return
  84. 840 ifpv=othengosub760
  85. 850 ifpv=ithengosub800
  86. 860 return
  87. 870 syssr,i,9,12,17,12000:syssr,2,8,12,17,18000:gosub840:return
  88. 880 poke164,192:poke165,11:poke166,66:poke167,3:poke168,8:poke170,2
  89. 890 for z=2tolen(a$)
  90. 900 poke164,9*val(mid$(a$,z,i)):poke166,(194-len(a$))+z:sysml:next
  91. 910 iflen(a$)=5thenpoke167,8:poke164,9*val(mid$(a$,2,i)):poke166,130:poke170,2:sysml
  92. 920 sysmt,4,0,0:forlp=ito43step8
  93. 930 poke2041,15:poke2042,34:sysmt,i,109+lp,156:sysmt,2,60+lp,156
  94. 940 syssr,i,8,12,17,10000+(lp*100):next
  95. 950 ifsg=1thenifp3(wa)=smthengosub980:gosub1040:goto90
  96. 960 ifsg=2thenifp3(wa(pv))=smthengosub980:gosub1040:goto90
  97. 970 gosub1010:gosub1040:goto90
  98. 980 gosub2860:gosub2820:gosub2860:gosub2820:gosub2860:gosub2820
  99. 990 sc(pv)=sc(pv)+i
  100. 1000 forlp=1to4:poke53288,cc(lp):poke53289,cc(lp):forz=1to3:nextz,lp:return
  101. 1010 pokev+40,o:pokev+41,o:syssr,i,11,12,65,900,50000:syssr,2,11,12,65,500,56000
  102. 1020 ms(pv)=ms(pv)+i
  103. 1030 gosub1150:return
  104. 1040 print"   blue  :"sc(o)tab(28)"missed:"ms(o)"[146]"
  105. 1050 print"   red   :"sc(i):xo=28:yp=22:gosub3610
  106. 1060 print"missed:"ms(i):return
  107. 1070 ifpc=npthen2160
  108. 1080 pc=pc+i:goto140
  109. 1090 print"":forz=1to11:print"                                        ";:next:poke53281,2
  110. 1100 print"         score:                         "
  111. 1110 ifms(o)>sc(o)thenms(o)=sc(o)
  112. 1120 ifms(i)>sc(i)thenms(i)=sc(i)
  113. 1130 poke53287,i:poke53289,3:return
  114. 1140 dy. g  2  _22   2_  2_    2 02226
  115. 1150 sm$=str$(sm):xo=32:yp=12:gosub3610:print""mid$(sm$,2,len(sm$))
  116. 1160 forlp=ito700 :nextlp:gosub3610:print"    ":return
  117. 1170 print"[153]"
  118. 1180 forlp=ito9:syssr,i,11,12,17,8000:printtab(13)"[144][145]out of time!":forz=ito40:next
  119. 1190 syssr,2,10,12,17,5000:printtab(13)"[145][146]out of time!":forz=ito40:nextz,lp
  120. 1200 printtab(13)"[145][144]            ":goto1150
  121. 1210 rem input routine
  122. 1220 an$="":ps=o
  123. 1230 getin$:print"[146] [157] [157]";chr$(mc);:ifin$=""then1230
  124. 1240 in=asc(in$)
  125. 1250 ifin=13andan$<>""thenprint:syssr,1,9,12,17,10000:return
  126. 1260 ifin=20then1330
  127. 1270 if in$="[140]" then 3620
  128. 1280 if in$="[136]" then 1380
  129. 1290 ifin<c1orin>c2thengoto1360
  130. 1300 ps=ps+i:ifps>lnthenps=ln:goto1360
  131. 1310 an$=an$+chr$(in)
  132. 1320 print""chr$(mc);chr$(in);:goto1230
  133. 1330 ps=ps-i:ifps<othenps=o:goto1360
  134. 1340 an$=left$(an$,len(an$)-i)+a1$
  135. 1350 print"[157] [157]";:goto1230
  136. 1360 syssr,i,7,11,17,in*100:goto1230
  137. 1370 rem input routine ends
  138. 1380 gosub2360:sg=i:gosub 1660:gosub3210:ln=i:c1=49:c2=50:gosub1210
  139. 1390 sg=val(an$)
  140. 1400 gosub1680:gosub3210:c2=54:gosub1210
  141. 1410 fu=val(an$):iffu<>6then1440
  142. 1420 mc$(1)="(1) +":mc$(2)="(2) -":mc$(4)="(4) /":mc$(3)="(3) x"
  143. 1430 gosub3310:ln=4:c2=52:gosub1210:fu$=an$
  144. 1440 gosub1710:gosub3210:ln=i:c1=49:c2=53:gosub1210:rv=val(an$):ifrv<>5then1470
  145. 1450 xo=27:yp=8:gosub3610:print"[156]from:";:ln=2:c1=48:c2=57:gosub1210
  146. 1460 r1=val(an$):xo=29:yp=10:gosub3610:print"[156]to:";:gosub1210:r2=val(an$)
  147. 1470 gosub1740:gosub3210:ln=i:c1=49:c2=52:gosub1210
  148. 1480 t1=val(an$):c1=48:c2=57:ift1<>4then1520
  149. 1490 ln=1:xo=26:yp=8:gosub3610:print"[129]minutes:";:gosub1210:yp=10
  150. 1500 l1=val(an$):gosub3610:print"[129]seconds:";:ln=2:gosub1210
  151. 1510 l2=val(an$):gosub3610:print"[129]          ":ifl2>59then1500
  152. 1520 gosub1770:gosub3210:ln=i:c1=49:c2=54:gosub1210
  153. 1530 np=val(an$):nv=o:ifnp<>6then1570
  154. 1540 xo=25:yp=9:gosub3610:print"how many:";:ln=2:c1=48:c2=57:gosub1210
  155. 1550 nv=i:np=val(an$):gosub1640
  156. 1560 if np=0 then 1520
  157. 1570 n=i:gosub1800:gosub3210:ln=1:c1=49:c2=53:gosub1210
  158. 1580 rg=val(an$):ifrg<>5then1620
  159. 1590 xo=27:yp=8:gosub3610:print"from:";:ln=2:c1=48:c2=57:gosub1210
  160. 1600 r3=val(an$):xo=29:yp=10:gosub3610:print"to:";:gosub1210
  161. 1610 r4=val(an$):gosub1640
  162. 1620 gosub1830:goto70
  163. 1630 printtab(26);"choose >";:return
  164. 1640 return
  165. 1650 print""tab(28)">";:return
  166. 1660 rem
  167. 1670 mc$(3)=" (1) snigglefritz":mc$(4)=" (2) sniggle race":mc=28:return
  168. 1680 mc$(1)="(1) addition +":mc$(2)="(2)subtraction -"
  169. 1690 mc$(3)="(3) multiplication x":mc$(4)="(4) division /"
  170. 1700 mc$(5)="(5) all four + - x /":mc$(6)="(6) choose your own":mc=30:return
  171. 1710 mc$(1)="(1) 1st range (0-9)":mc$(2)="(2)           (0-20)"
  172. 1720 mc$(3)="(3)           (0-50)":mc$(4)="(4)           (0-99)"
  173. 1730 mc$(5)="(5) choose your own":mc=156:return
  174. 1740 mc$(2)="(1) work time (0:05)":mc$(3)="(2)           (0:10)"
  175. 1750 mc$(4)= "(3)           (0:15)":mc$(5)="(4) choose your own"
  176. 1760 mc=129:return
  177. 1770 mc$(1)="(1) 5 proble