home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 160 / 160.d81 / b.stamp (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  7KB  |  259 lines

  1. 10 poke55,0:poke56,55:clr
  2. 20 poke53371,0:x=rnd(-ti)
  3. 30 dv=peek(186):ifdv<8thendv=8
  4. 40 poke53281,0:poke53280,0:print""
  5. 50 gosub60000
  6. 60 sys57812"stamp font",dv,0:poke780,0:poke781,0:poke782,56:sys65493
  7. 70 sys57812"st.mouse c000",dv,0:poke780,0:poke781,0:poke782,192:sys65493
  8. 80 sys57812"stamp sprites",dv,0:poke780,0:poke781,0:poke782,55:sys65493
  9. 90 sys57812"stamp random",dv,0:poke780,0:poke781,0:poke782,157:sys65493
  10. 100 sys57812"stamp moves",dv,0:poke780,0:poke781,0:poke782,156:sys65493
  11. 110 ml=192*256:mv=ml+111:pokemv,158:v=53248:sd=54272:bu=160*256:sp=sd+1024
  12. 120 rn=157*256:sm=156*256
  13. 122 rem pokesm,200
  14. 130 sysml:sysml+18,0,38,0,24
  15. 140 sysml+6:pokev+21,0
  16. 150 dimx%(13),y%(13),s%(13),d%(13,4),g%(13),en%(13),h%(13),bg(4)
  17. 160 goto720
  18. 170 :
  19. 180 :rem box
  20. 190 :
  21. 200 poke214,y:print
  22. 210 printtab(x)"[155][176]"left$(tp$,xx)"[174]"
  23. 220 fori=1toyy:printtab(x)"[171]";:poke646,c:printleft$(bl$,xx)"[155][179]":next
  24. 230 printtab(x)"[173]"left$(bt$,xx)"[189]"
  25. 240 poke646,c:return
  26. 250 :
  27. 260 :rem score update
  28. 270 :
  29. 280 sysml+12,32,21,"    [157][157][157][157]":printmq
  30. 290 sysml+12,32,22,"    [157][157][157][157]":printbg(md)
  31. 300 fori=2to12:if(i=5)or(i=9)then330
  32. 310 h=sd+1024+x%(i)+y%(i)*40
  33. 320 if(peek(h)and15)<>en%(i)theni=12:next:return
  34. 330 next
  35. 340 sysml+30,x%(2),x%(2)+14,y%(2),y%(2)+14,255,9
  36. 350 sysml+39,64
  37. 360 sysml+12,7,10,"[149][217][207][213] [196][201][196] [201][212]!
  38. 370 [139]mq[177][178]bg(md)[167]400
  39. 380 bg(md)[178]mq:[151]sm,mq
  40. 390 [158]ml[170]12,7,11,"verifyatn (NULL)val(NULL) peekval(NULL)(NULL)!
  41. 400 ifmd=0thenreturn
  42. 410 open15,dv,15,"s0:stamp moves":close15
  43. 420 sys57812"stamp moves",dv:poke193,0:poke194,156:poke174,201:poke175,156
  44. 430 sys62954
  45. 440 sysml+12,7,18,"[208][210][201][206][212] [197][206][212][210][217]
  46. 450 [158]ml[170]36,18,160,7:[158]ml[170]36,19,160,7
  47. 460 [158]ml[170]12,8,20,"sys(NULL)val(NULL)(NULL)(NULL)"
  48. 470 [151]mv[170]1,19
  49. 480 [158]ml[170]9
  50. 490 [139]l2%[178]0[167]480
  51. 500 [139]cr%[178]18[167][141]1970:[137]520
  52. 510 [139]cr%[179][177]19[167]480
  53. 520 [151]mv[170]1,17:[158]ml[170]42,64
  54. 530 [142]
  55. 540 :
  56. 550 :[143] randomize
  57. 560 :
  58. 570 [151]176,0:[151]177,157:[151]178,12
  59. 580 [158]rn
  60. 590 [129]i[178]1[164]12:h%(i)[178][194](rn[170]94[170]i):[130]
  61. 600 [142]
  62. 610 :
  63. 620 :[143] sprite move
  64. 630 :
  65. 640 [151]v[170]2,x%(kc)[172]8[170]30:[151]v[170]3,y%(kc)[172]8[170]54
  66. 650 [151]v[170]4,x%(kc)[172]8[170]54:[151]v[170]5,y%(kc)[172]8[170]54
  67. 660 [151]v[170]6,x%(kc)[172]8[170]30:[151]v[170]7,y%(kc)[172]8[170]75
  68. 670 [151]v[170]8,x%(kc)[172]8[170]54:[151]v[170]9,y%(kc)[172]8[170]76
  69. 680 [142]
  70. 690 :
  71. 700 :[143] initialize
  72. 710 :
  73. 720 tp$[178]"======================================="
  74. 730 bt$[178]">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
  75. 740 bl$[178]"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
  76. 750 sp$[178]"        "
  77. 760 ln$[178]"----------------------------------------------------------------------"
  78. 770 kc$[178]"getnewtab(tofncmdcmdcmdcmdcmdspc(thennotstep+cmdcmdcmdcmdcmd-*/^andcmdcmdcmdcmdcmdor>=<sgncmdcmdcmdcmdcmdintabsusrfrepos"
  79. 780 bq$[178]"or===^cmdcmdcmdcmdcmd-@@@<cmdcmdcmdcmdcmd-@@@<cmdcmdcmdcmdcmd-@@@<cmdcmdcmdcmdcmd/>>>exp"
  80. 790 cr$[178][199](13)
  81. 800 k[178]1:[129]j[178]0[164]2:[129]i[178]0[164]3
  82. 810 x%(k)[178]i[172]5:y%(k)[178]8[170]j[172]5
  83. 820 [158]ml[170]15,1[170]i[170]4[172]j,i[172]5,i[172]5[170]4,8[170]j[172]5,8[170]j[172]5[170]4
  84. 830 s%(k)[178]k:k[178]k[170]1
  85. 840 [130]:[130]:s%(6)[178]8:s%(8)[178]6:mt%[178]6
  86. 850 [158]ml[170]15,13,22,29,7,11
  87. 860 [158]ml[170]15,14,31,38,7,11
  88. 870 [158]ml[170]15,15,22,29,13,17
  89. 880 [158]ml[170]15,16,31,38,13,17
  90. 890 [158]ml[170]15,17,33,38,0,0
  91. 900 [158]ml[170]15,18,7,11,19,21
  92. 910 [158]ml[170]15,19,13,17,19,21
  93. 920 [129]i[178]1[164]12:[129]j[178]0[164]3:[135]d%(i,j):[130]:[130]
  94. 930 [131]0,0,2,5, 1,0,3,6, 2,0,4,7, 3,0,0,8, 0,1,6,9, 5,2,7,10, 6,3,8,11
  95. 940 [131]7,4,0,12, 0,5,10,0, 9,6,11,0, 10,7,12,0, 11,8,0,0
  96. 950 [129]i[178]1[164]12:[135]g%(i):[130]
  97. 960 [131]2,3,4,5,6,9,7,9,10,11,12,13
  98. 970 [129]i[178]1[164]12:[135]en%(i):[130]
  99. 980 [131]0,2,3,4,13,6,9,7,5,10,11,12
  100. 990 :
  101. 1000 :[143] setup sprites
  102. 1010 :
  103. 1020 [129]i[178]0[164]3:[151]2041[170]i,220[170]i:[151]v[170]40[170]i,8:[130]
  104. 1030 [151]v[170]29,224:[151]v[170]23,224:[151]v[170]16,0
  105. 1040 [151]v[170]28,0:[151]v[170]27,224
  106. 1050 [129]i[178]0[164]2:[151]2045[170]i,13:[151]v[170]44[170]i,6:[130]
  107. 1060 [129]i[178]0[164]35:[151]13[172]64[170]i,255:[130]:[129]i[178]0[164]27:[151]13[172]64[170]36[170]i,0:[130]
  108. 1070 [129]i[178]0[164]2:[151]v[170]10[170]i[172]2,116[170]38[172]i:[151]v[170]11[170]i[172]2,66:[130]
  109. 1080 :
  110. 1090 :[143] screen draw
  111. 1100 :
  112. 1110 [153]"load":md[178]0:[151]53272,31
  113. 1120 c[178]6:x[178]0:y[178]0:xx[178]37:yy[178]3:[141]200
  114. 1130 [153]""[163]33)"-(NULL)(NULL)right$(NULL)wait<"
  115. 1140 [153]""[163]12)"sysor=^or=^or=^or=^or=^
  116. 1150 print" [195][193][204][200][207][207][206]'[211] [146][158][173][192][174] [221] [171][192][179][221][221][221][171][177][189] [195][200][193][204][204][197][206][199][197]
  117. 1160 [153][163]12)"sys/>exp > / exp/ exp/"
  118. 1170 [151]v[170]21,224
  119. 1180 c[178]12:x[178]22:y[178]6:xx[178]6:yy[178]3:[141]200
  120. 1190 [158]ml[170]12,24,9,"(NULL)atn(NULL)val"
  121. 1200 x[178]31:[141]200
  122. 1210 [158]ml[170]12,33,9,"[\]^":[143] new
  123. 1220 x[178]22:y[178]12:[141]200
  124. 1230 [158]ml[170]12,24,15,"lenleft$atn(NULL)
  125. 1240 x=31:gosub200
  126. 1250 sysml+12,33,15,"[200][197][204][208]
  127. 1260 c[178]5:x[178]22:y[178]18:xx[178]15:yy[178]4:[141]200
  128. 1270 [158]ml[170]12,25,21,"(NULL)(NULL)(NULL)val(NULL) :"
  129. 1280 [158]ml[170]12,25,22,"peekval(NULL)(NULL)  :"
  130. 1290 c[178]0:x[178]0:y[178]7:xx[178]13:yy[178]13:[141]200
  131. 1300 bg(0)[178]200
  132. 1310 bg(1)[178][194](sm)
  133. 1320 [158]ml[170]12,5,24,"for-lenatn(NULL)'(NULL) lenatn(NULL)left$(NULL)(NULL)(NULL)wait<"
  134. 1330 [158]ml[170]12,15,8,bq$
  135. 1340 [158]ml[170]12,15,18,bq$
  136. 1350 [158]ml[170]12,15,13,kc$
  137. 1360 [129]i[178]1[164]12:[158]ml[170]36,i,255,g%(i):[130]
  138. 1370 [158]ml[170]36,6,255,0:[143] empty square
  139. 1380 [139]md[167]1420
  140. 1390 [141]570
  141. 1400 [129]i[178]1[164]12:[158]ml[170]45,x%(i),x%(i)[170]4,y%(i),y%(i)[170]4,bu[170]50[172]i:[130]
  142. 1410 [129]i[178]1[164]12:[158]ml[170]48,x%(h%(i)),x%(h%(i))[170]4,y%(h%(i)),y%(h%(i))[170]4,bu[170]50[172]i:[130]
  143. 1420 [129]i[178]1[164]12:[139]([194](sp[170]x%(i)[170]y%(i)[172]40)[175]15)[178]9[167]kc[178]i
  144. 1430 [139]([194](sp[170]x%(i)[170]y%(i)[172]40)[175]15)[178]0[167]mt%[178]i
  145. 1440 [130]
  146. 1450 [151]mv[170]1,17:mq[178]0:[141]640
  147. 1460 [151]v[170]21,255
  148. 1470 :
  149. 1480 :[143] loop
  150. 1490 :
  151. 1500 [141]280
  152. 1510 [158]ml[170]9
  153. 1520 [139]l2%[178]0[167]1510
  154. 1530 [139]cr%[178]0[167]1510
  155. 1540 [139]cr%[177]12[167]1640
  156. 1550 [129]i[178]0[164]3:[139]d%(cr%,i)[178]mt%[167]i[178]3:[130]:[137]1570
  157. 1560 [130]:[137]1510
  158. 1570 [158]ml[170]45,x%(cr%),x%(cr%)[170]4,y%(cr%),y%(cr%)[170]4,bu
  159. 1580 [158]ml[170]48,x%(mt%),x%(mt%)[170]4,y%(mt%),y%(mt%)[170]4,bu
  160. 1590 [139]([194](sp[170]x%(cr%)[170]y%(cr%)[172]40)[175]15)[178]9[167]kc[178]mt%:[141]640
  161. 1600 mt%[178]cr%
  162. 1610 [158]ml[170]30,x%(cr%),x%(cr%)[170]4,y%(cr%),y%(cr%)[170]4,32,0
  163. 1620 mq[178]mq[170]1:[151]sm[170]mq,mt%
  164. 1630 [137]1500
  165. 1640 [151]v[170]21,225
  166. 1650 [139]cr%[178]15[167]md[178]1
  167. 1652 [139]cr%[178]13[176]cr%[178]14[167]md[178]0
  168. 1660 [145]cr%[171]12[137]1410,1290,1290,1670,40000
  169. 1670 [158]ml[170]39,64
  170. 1680 [151]v[170]21,225:k2[178]kc
  171. 1690 [139]h2[167][158]ml[170]42,72:[137]1890
  172. 1700 h2[178]1
  173. 1710 c[178]5:x[178]22:y[178]6:xx[178]15:yy[178]16:[141]200
  174. 1720 [158]ml[170]12,x%(5),y%(5),bq$
  175. 1730 [158]ml[170]12,x%(9),y%(9),bq$
  176. 1740 c[178]9:x[178]5:y[178]7:xx[178]13:yy[178]13:[141]200
  177. 1750 [129]i[178]1[164]12:[158]ml[170]36,i,255,en%(i):[130]
  178. 1760 [158]ml[170]12,x%(7),y%(7),kc$
  179. 1770 [158]ml[170]12,23,9,"lenlick on a tile
  180. 1780 sysml+12,23,10,"to move it into
  181. 1790 [158]ml[170]12,23,11,"the empty spot.
  182. 1800 sysml+12,23,12,"[217]our goal is
  183. 1810 [158]ml[170]12,23,13,"shown at left.
  184. 1820 sysml+12,23,15,"[206][197][215] - [210]andom
  185. 1830 [158]ml[170]12,23,16," scramble
  186. 1840 sysml+12,23,18,"[211][193][205][197] - [210]edo
  187. 1850 [158]ml[170]12,23,19," same layout
  188. 1860 sysml+12,23,21,"[195][200][193][204] - [211]pecial
  189. 1870 [158]ml[170]12,23,22," contest layout
  190. 1880 sysml+39,72
  191. 1890 kc=7:gosub640:pokev+21,255
  192. 1900 sysml+9
  193. 1910 ifl2%=0then1900
  194. 1920 pokev+21,224:sysml+42,64:pokev+21,255:kc=k2:gosub640
  195. 1930 goto1510
  196. 1940 :
  197. 1950 :rem print entry
  198. 1960 :
  199. 1970 open4,4,7:close4:ifst<