home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 126-150 / apd149 / gobbit.amos / gobbit.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1990-08-11  |  26.3 KB  |  1,325 lines

  1. Dim HIGH(9),HIGHNAME$(9)
  2. Global COUNT,LIVES,NAM,SPRNO,SCORE,TILES,XCOORD1,YCOORD1
  3. Global SPR8X,SPR8Y,SPR9X,SPR9Y,SPR10X,SPR10Y,SPR11X,SPR11Y
  4. Global CURRENTSCR,BL1X,BL1Y,ALNO,ROUND,HIGH(),HIGHNAME$(),A
  5. INITHIGHSCORES
  6. LDER
  7. Rem Going down left x-11,y+15
  8. Rem going down right x+10,y+15 
  9. Rem All subsequent blocks on same y co-ord add 21 to X 
  10. Procedure LDER
  11.    Screen Close 0
  12.    Screen Open 0,320,256,32,Lowres
  13.    Hide On : Curs Off : Flash Off : Cls 0
  14.    Load Iff "Gobbit.pic"
  15.    Load "Loader.abk"
  16.    Music 1 : Mvolume 63 : Tempo 17
  17. Repeat 
  18. Until Mouse Key
  19.    Fade 10 : Wait 150
  20.    Music Off 
  21. INIT
  22. End Proc
  23. Procedure INIT
  24.    Screen Close 0
  25.    Screen Open 0,320,220,8,Lowres
  26.    Load "enemy1.abk"
  27.    Hide On : Curs Off : Flash Off : Cls 0
  28.    Randomize Timer
  29.    Writing 0,2
  30.    LIVES=3
  31.    SCORE=4000
  32.    CHPALETTE
  33.    RBOW
  34.    ROUND=1
  35.    SCR1
  36.    CURRENTSCR=1
  37.    ALIENNOS
  38.    MAIN
  39. End Proc
  40. Procedure MAIN
  41. If ROUND=2 Then TILES=TILES*2
  42. If ROUND=3 Then TILES=TILES*3
  43.    Repeat 
  44. Home : Print "Lives =";LIVES
  45. Locate 26,0 : Print "Score =";SCORE
  46.    JYCTRL
  47.    ALIEN
  48.    If SCORE=5000 and FLAG=0 Then LIVES=LIVES+1 : FLAG=1
  49.    If SCORE=10000 and FLAG<2 Then LIVES=LIVES+1 : FLAG=2
  50.    If SCORE=20000 and FLAG<3 Then LIVES=LIVES+1 : FLAG=3
  51.    If SCORE=30000 and FLAG<4 Then LIVES=LIVES+1 : FLAG=4
  52.    Until COUNT=TILES
  53. CURRENTSCR=CURRENTSCR+1
  54. Locate 26,0 : Print "Score =";SCORE
  55. COMPLETE
  56. CHOOSESCR
  57. FINNISH
  58. End Proc
  59. Procedure CHOOSESCR
  60.    If CURRENTSCR<9 Then ROUND=1
  61.    If CURRENTSCR>=9 Then ROUND=2
  62.    If CURRENTSCR>=16 Then ROUND=3
  63.    If CURRENTSCR=2 Then SCR2
  64.    If CURRENTSCR=3 Then SCR3
  65.    If CURRENTSCR=4 Then SCR4
  66.    If CURRENTSCR=5 Then SCR5
  67.    If CURRENTSCR=6 Then SCR6
  68.    If CURRENTSCR=7 Then SCR7
  69.    If CURRENTSCR=8 Then SCR8
  70.    If CURRENTSCR=9 Then SCR1
  71.    If CURRENTSCR=10 Then SCR2
  72.    If CURRENTSCR=11 Then SCR3
  73.    If CURRENTSCR=12 Then SCR4
  74.    If CURRENTSCR=13 Then SCR5
  75.    If CURRENTSCR=14 Then SCR6
  76.    If CURRENTSCR=15 Then SCR7
  77.    If CURRENTSCR=16 Then SCR8
  78.    If CURRENTSCR=17 Then SCR1
  79.    If CURRENTSCR=18 Then SCR2
  80.    If CURRENTSCR=19 Then SCR3
  81.    If CURRENTSCR=20 Then SCR4
  82.    If CURRENTSCR=21 Then SCR5
  83.    If CURRENTSCR=22 Then SCR6
  84.    If CURRENTSCR=23 Then SCR7
  85.    If CURRENTSCR=24 Then SCR8
  86.    If CURRENTSCR=25 Then FINNISH
  87.    ALIENNOS
  88.    MAIN
  89. End Proc
  90. Procedure ALIENNOS
  91.    If CURRENTSCR<=4 Then ALIEN1
  92.    If CURRENTSCR=5 Then ALIEN2
  93.    If CURRENTSCR=6 Then ALIEN2
  94.    If CURRENTSCR>=7 Then ALIEN3
  95. End Proc
  96. Procedure ALIEN1
  97.    AL1X=X Hard(BL1X)
  98.    AL1Y=Y Hard(BL1Y)
  99.    Sprite 9,(AL1X+4),(AL1Y-11),1 : Channel 2 To Sprite 9
  100.    Sprite Off 10
  101.    Sprite Off 11
  102.    ALNO=2
  103. End Proc
  104. Procedure ALIEN2
  105.    AL1X=X Hard(BL1X)
  106.    AL1Y=Y Hard(BL1Y)
  107.    Sprite 9,(AL1X+4),(AL1Y-11),1 : Channel 2 To Sprite 9
  108.    Sprite 10,(AL1X+4),(AL1Y-11),1 : Channel 3 To Sprite 10
  109.    Sprite Off 11
  110.    ALNO=3
  111. End Proc
  112. Procedure ALIEN3
  113.    AL1X=X Hard(BL1X)
  114.    AL1Y=Y Hard(BL1Y)
  115.    Sprite 9,(AL1X+4),(AL1Y-11),1 : Channel 2 To Sprite 9
  116.    Sprite 10,(AL1X+4),(AL1Y-11),1 : Channel 3 To Sprite 10
  117.    Sprite 11,(AL1X+4),(AL1Y-11),1 : Channel 4 To Sprite 11
  118.    ALNO=4
  119. End Proc
  120. Procedure ALIEN
  121. For NAM=2 To ALNO
  122.    If NAM=2 Then SPRNO=9
  123.    If NAM=3 Then SPRNO=10
  124.    If NAM=4 Then SPRNO=11
  125.    AMOVE=Int(Rnd(3))
  126.    If AMOVE=0 Then AUPLEFT
  127.    If AMOVE=1 Then ADOWNLEFT
  128.    If AMOVE=2 Then AUPRIGHT
  129.    If AMOVE=3 Then ADOWNRIGHT
  130.    CHCOLISION
  131. Next NAM
  132. End Proc
  133. Procedure CHCOLISION
  134.    SPR8X=X Sprite(8)
  135.    SPR8Y=(Y Sprite(8)+3)
  136.    SPR9X=X Sprite(9)
  137.    SPR9Y=Y Sprite(9)
  138.    SPR10X=X Sprite(10)
  139.    SPR10Y=Y Sprite(10)
  140.    SPR11X=X Sprite(11)
  141.    SPR11Y=Y Sprite(11)
  142.    If SPR8X=SPR9X Then CHSPR89Y
  143.    If SPR8X=SPR10X Then CHSPR810Y
  144.    If SPR8X=SPR11X Then CHSPR811Y
  145. End Proc
  146. Procedure CHSPR89Y
  147.    If SPR8Y=SPR9Y Then DEAD
  148. End Proc
  149. Procedure CHSPR810Y
  150.    If SPR8Y=SPR10Y Then DEAD
  151. End Proc
  152. Procedure CHSPR811Y
  153.    If SPR8Y=SPR11Y Then DEAD
  154. End Proc
  155. Procedure AUPLEFT
  156.    Wait Vbl 
  157.    ALIENX1=(X Sprite(SPRNO)-3-10)
  158.    ALIENY1=(Y Sprite(SPRNO)+11-15)
  159.    ALIENX=X Screen(ALIENX1)
  160.    ALIENY=Y Screen(ALIENY1)
  161.    If Point(ALIENX,ALIENY)=3 Then Amal NAM,"Let X=X-10 ; Let Y=Y-15" : Amal On NAM : Wait Vbl 
  162.    If Point(ALIENX,ALIENY)=4 Then Amal NAM,"Let X=X-10 ; Let Y=Y-15" : Amal On NAM : Wait Vbl 
  163.    If Point(ALIENX,ALIENY)=5 Then Amal NAM,"Let X=X-10 ; Let Y=Y-15" : Amal On NAM : Wait Vbl 
  164.    If Point(ALIENX,ALIENY)=6 Then Amal NAM,"Let X=X-10 ; Let Y=Y-15" : Amal On NAM : Wait Vbl 
  165. End Proc
  166. Procedure ADOWNLEFT
  167.    Wait Vbl 
  168.    ALIENX1=(X Sprite(SPRNO)-3-11)
  169.    ALIENY1=(Y Sprite(SPRNO)+11+15)
  170.    ALIENX=X Screen(ALIENX1)
  171.    ALIENY=Y Screen(ALIENY1)
  172.    If Point(ALIENX,ALIENY)=3 Then Amal NAM,"Let X=X-11 ; Let Y=Y+15" : Amal On NAM : Wait Vbl 
  173.    If Point(ALIENX,ALIENY)=4 Then Amal NAM,"Let X=X-11 ; Let Y=Y+15" : Amal On NAM : Wait Vbl 
  174.    If Point(ALIENX,ALIENY)=5 Then Amal NAM,"Let X=X-11 ; Let Y=Y+15" : Amal On NAM : Wait Vbl 
  175.    If Point(ALIENX,ALIENY)=6 Then Amal NAM,"Let X=X-11 ; Let Y=Y+15" : Amal On NAM : Wait Vbl 
  176. End Proc
  177. Procedure AUPRIGHT
  178.    Wait Vbl 
  179.    ALIENX1=(X Sprite(SPRNO)-3+11)
  180.    ALIENY1=(Y Sprite(SPRNO)+11-15)
  181.    ALIENX=X Screen(ALIENX1)
  182.    ALIENY=Y Screen(ALIENY1)
  183.    If Point(ALIENX,ALIENY)=3 Then Amal NAM,"Let X=X+11 ; Let Y=Y-15" : Amal On NAM : Wait Vbl 
  184.    If Point(ALIENX,ALIENY)=4 Then Amal NAM,"Let X=X+11 ; Let Y=Y-15" : Amal On NAM : Wait Vbl 
  185.    If Point(ALIENX,ALIENY)=5 Then Amal NAM,"Let X=X+11 ; Let Y=Y-15" : Amal On NAM : Wait Vbl 
  186.    If Point(ALIENX,ALIENY)=6 Then Amal NAM,"Let X=X+11 ; Let Y=Y-15" : Amal On NAM : Wait Vbl 
  187. End Proc
  188. Procedure ADOWNRIGHT
  189.    Wait Vbl 
  190.    ALIENX1=(X Sprite(SPRNO)-3+10)
  191.    ALIENY1=(Y Sprite(SPRNO)+11+15)
  192.    ALIENX=X Screen(ALIENX1)
  193.    ALIENY=Y Screen(ALIENY1)
  194.    If Point(ALIENX,ALIENY)=3 Then Amal NAM,"Let X=X+10 ; Let Y=Y+15" : Amal On NAM : Wait Vbl 
  195.    If Point(ALIENX,ALIENY)=4 Then Amal NAM,"Let X=X+10 ; Let Y=Y+15" : Amal On NAM : Wait Vbl 
  196.    If Point(ALIENX,ALIENY)=5 Then Amal NAM,"Let X=X+10 ; Let Y=Y+15" : Amal On NAM : Wait Vbl 
  197.    If Point(ALIENX,ALIENY)=6 Then Amal NAM,"Let X=X+10 ; Let Y=Y+15" : Amal On NAM : Wait Vbl 
  198. End Proc
  199. Procedure CHPALETTE
  200.    Palette $0,$FAF,$D5D,$F0F,$707,$F,$F00,,,,,,,,,,,$666,$444,$F0
  201.    Colour 17,$666 : Colour 18,$444 : Colour 19,$F0
  202.    Colour 21,$F0 : Colour 22,$FFF : Colour 23,$FF0
  203. End Proc
  204. Procedure CHPALETTE2
  205.    Palette $0,$F0,$70,$FF4,$F00,$F,$FF
  206.    Colour 17,$666 : Colour 18,$444 : Colour 19,$F0
  207.    Colour 21,$F0 : Colour 22,$FFF : Colour 23,$FF0
  208. End Proc
  209. Procedure CHPALETTE3
  210.    Palette $0,$FF4,$CC1,$CCC,$D0,$F00,$FF
  211.    Colour 17,$666 : Colour 18,$444 : Colour 19,$F0
  212.    Colour 21,$F0 : Colour 22,$FFF : Colour 23,$FF0
  213. End Proc
  214. Procedure JYCTRL
  215. If CURRENTSCR<=4 Then Wait 5
  216. COUNT1=0
  217. Repeat 
  218. Wait Vbl 
  219. COUNT1=COUNT1+1
  220. CONTROL=Joy(1)
  221. Rem If CONTROL=1 Then Amal 1,"Move 0,-3,1" 
  222. Rem If CONTROL=2 Then Amal 1,"Move 0,3,1"
  223. Rem If CONTROL=4 Then Amal 1,"Move -3,0,1" 
  224. Rem If CONTROL=8 Then Amal 1,"Move 3,0,1"
  225. If CONTROL=5 Then Amal 1,"Let X=X-10 ; Let Y=Y-15"
  226. If CONTROL=6 Then Amal 1,"Let X=X-11 ; Let Y=Y+15"
  227. If CONTROL=9 Then Amal 1,"Let X=X+11 ; Let Y=Y-15"
  228. If CONTROL=10 Then Amal 1,"Let X=X+10 ; Let Y=Y+15"
  229. Amal On 1
  230. If CONTROL=16 Then End 
  231. If COUNT1=5 Then Goto EEND
  232. Until CONTROL=5 or CONTROL=6 or CONTROL=9 or CONTROL=10
  233. If ROUND=1 Then CHECK
  234. If ROUND=2 Then CHECK2
  235. If ROUND=3 Then CHECK3
  236. EEND:
  237. End Proc
  238. Procedure CHECK2
  239. Wait Vbl 
  240. XPOS1=(X Sprite(8)-3)
  241.    YPOS1=(Y Sprite(8)+14)
  242.    XPOS=X Screen(XPOS1)
  243.    YPOS=Y Screen(YPOS1)
  244. If Point(XPOS,YPOS)=4 Then CHBLOCK2[XPOS-1,YPOS]
  245. If Point(XPOS,YPOS)=3 Then CHBLOCK[XPOS-1,YPOS]
  246. If Point(XPOS,YPOS)=0 Then DEAD
  247. End Proc
  248. Procedure CHECK3
  249. Wait Vbl 
  250. XPOS1=(X Sprite(8)-3)
  251.    YPOS1=(Y Sprite(8)+14)
  252.    XPOS=X Screen(XPOS1)
  253.    YPOS=Y Screen(YPOS1)
  254. If Point(XPOS,YPOS)=5 Then CHBLOCK3[XPOS-1,YPOS]
  255. If Point(XPOS,YPOS)=4 Then CHBLOCK2[XPOS-1,YPOS]
  256. If Point(XPOS,YPOS)=3 Then CHBLOCK[XPOS-1,YPOS]
  257. If Point(XPOS,YPOS)=0 Then DEAD
  258. End Proc
  259. Procedure SCR1
  260. CHPALETTE
  261. Cls 0
  262. Rem Load in for drawing screen and play
  263. Load "ingame.abk"
  264. Music 1 : Mvolume 63 : Tempo 16
  265. TILES=91 : COUNT=0
  266. BL1X=150 : BL1Y=20
  267. Rem Row 1
  268. DRBLOCK[150,20]
  269. Rem row 2
  270. DRBLOCK[139,35]
  271. DRBLOCK[160,35]
  272. Rem Row 3
  273. DRBLOCK[128,50]
  274. DRBLOCK[149,50]
  275. DRBLOCK[170,50]
  276. Rem Row 4
  277. DRBLOCK[117,65]
  278. DRBLOCK[138,65]
  279. DRBLOCK[159,65]
  280. DRBLOCK[180,65]
  281. Rem Row 5
  282. DRBLOCK[106,80]
  283. DRBLOCK[127,80]
  284. DRBLOCK[148,80]
  285. DRBLOCK[169,80]
  286. DRBLOCK[190,80]
  287. Rem Row 6
  288. DRBLOCK[95,95]
  289. DRBLOCK[116,95]
  290. DRBLOCK[137,95]
  291. DRBLOCK[158,95]
  292. DRBLOCK[179,95]
  293. DRBLOCK[200,95]
  294. Rem Row 7
  295. DRBLOCK[84,110]
  296. DRBLOCK[105,110]
  297. DRBLOCK[126,110]
  298. DRBLOCK[147,110]
  299. DRBLOCK[168,110]
  300. DRBLOCK[189,110]
  301. DRBLOCK[210,110]
  302. Rem Row 8
  303. DRBLOCK[73,125]
  304. DRBLOCK[94,125]
  305. DRBLOCK[115,125]
  306. DRBLOCK[136,125]
  307. DRBLOCK[157,125]
  308. DRBLOCK[178,125]
  309. DRBLOCK[199,125]
  310. DRBLOCK[220,125]
  311. Rem Row 9
  312. DRBLOCK[62,140]
  313. DRBLOCK[83,140]
  314. DRBLOCK[104,140]
  315. DRBLOCK[125,140]
  316. DRBLOCK[146,140]
  317. DRBLOCK[167,140]
  318. DRBLOCK[188,140]
  319. DRBLOCK[209,140]
  320. DRBLOCK[230,140]
  321. Rem Row 10 
  322. DRBLOCK[51,155]
  323. DRBLOCK[72,155]
  324. DRBLOCK[93,155]
  325. DRBLOCK[114,155]
  326. DRBLOCK[135,155]
  327. DRBLOCK[156,155]
  328. DRBLOCK[177,155]
  329. DRBLOCK[198,155]
  330. DRBLOCK[219,155]
  331. DRBLOCK[240,155]
  332. Rem Row 11 
  333. DRBLOCK[40,170]
  334. DRBLOCK[61,170]
  335. DRBLOCK[82,170]
  336. DRBLOCK[103,170]
  337. DRBLOCK[124,170]
  338. DRBLOCK[145,170]
  339. DRBLOCK[166,170]
  340. DRBLOCK[187,170]
  341. DRBLOCK[208,170]
  342. DRBLOCK[229,170]
  343. DRBLOCK[250,170]
  344. Rem Row 12 
  345. DRBLOCK[29,185]
  346. DRBLOCK[50,185]
  347. DRBLOCK[71,185]
  348. DRBLOCK[92,185]
  349. DRBLOCK[113,185]
  350. DRBLOCK[134,185]
  351. DRBLOCK[155,185]
  352. DRBLOCK[176,185]
  353. DRBLOCK[197,185]
  354. DRBLOCK[218,185]
  355. DRBLOCK[239,185]
  356. DRBLOCK[260,185]
  357. Rem Row 13 
  358. DRBLOCK[18,200]
  359. DRBLOCK[39,200]
  360. DRBLOCK[60,200]
  361. DRBLOCK[81,200]
  362. DRBLOCK[102,200]
  363. DRBLOCK[123,200]
  364. DRBLOCK[144,200]
  365. DRBLOCK[165,200]
  366. DRBLOCK[186,200]
  367. DRBLOCK[207,200]
  368. DRBLOCK[228,200]
  369. DRBLOCK[249,200]
  370. DRBLOCK[270,200]
  371. XCOORD1=X Hard(22)
  372. YCOORD1=Y Hard(186)
  373. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  374. Rem Music Off  
  375. End Proc
  376. Procedure SCR2
  377. CHPALETTE
  378. Cls 0
  379. BL1X=134 : BL1Y=20
  380. TILES=88 : COUNT=0
  381. Rem 1
  382.    DRBLOCK[50,20]
  383.    DRBLOCK[134,20]
  384.    DRBLOCK[218,20]
  385. Rem 2
  386.    DRBLOCK[39,35]
  387.    DRBLOCK[60,35]
  388.    DRBLOCK[123,35]
  389.    DRBLOCK[144,35]
  390.    DRBLOCK[207,35]
  391.    DRBLOCK[228,35]
  392. Rem 3
  393.    DRBLOCK[28,50]
  394.    DRBLOCK[49,50]
  395.    DRBLOCK[70,50]
  396.    DRBLOCK[112,50]
  397.    DRBLOCK[133,50]
  398.    DRBLOCK[154,50]
  399.    DRBLOCK[196,50]
  400.    DRBLOCK[217,50]
  401.    DRBLOCK[238,50]
  402. Rem 4
  403.    DRBLOCK[17,65]
  404.    DRBLOCK[38,65]
  405.    DRBLOCK[59,65]
  406.    DRBLOCK[80,65]
  407.    DRBLOCK[101,65]
  408.    DRBLOCK[122,65]
  409.    DRBLOCK[143,65]
  410.    DRBLOCK[164,65]
  411.    DRBLOCK[185,65]
  412.    DRBLOCK[206,65]
  413.    DRBLOCK[227,65]
  414.    DRBLOCK[248,65]
  415. Rem 5
  416.    DRBLOCK[27,80]
  417.    DRBLOCK[90,80]
  418.    DRBLOCK[174,80]
  419.    DRBLOCK[237,80]
  420. Rem 6
  421.    DRBLOCK[37,95]
  422.    DRBLOCK[79,95]
  423.    DRBLOCK[100,95]
  424.    DRBLOCK[163,95]
  425.    DRBLOCK[184,95]
  426.    DRBLOCK[226,95]
  427. Rem 7
  428.    DRBLOCK[47,110]
  429.    DRBLOCK[68,110]
  430.    DRBLOCK[89,110]
  431.    DRBLOCK[110,110]
  432.    DRBLOCK[152,110]
  433.    DRBLOCK[173,110]
  434.    DRBLOCK[194,110]
  435.    DRBLOCK[215,110]
  436. Rem 8
  437.    DRBLOCK[57,125]
  438.    DRBLOCK[78,125]
  439.    DRBLOCK[99,125]
  440.    DRBLOCK[120,125]
  441.    DRBLOCK[141,125]
  442.    DRBLOCK[162,125]
  443.    DRBLOCK[183,125]
  444.    DRBLOCK[204,125]
  445. Rem 9
  446.    DRBLOCK[46,140]
  447.    DRBLOCK[130,140]
  448.    DRBLOCK[214,140]
  449. Rem 10 
  450.    DRBLOCK[35,155]
  451.    DRBLOCK[56,155]
  452.    DRBLOCK[119,155]
  453.    DRBLOCK[140,155]
  454.    DRBLOCK[203,155]
  455.    DRBLOCK[224,155]
  456. Rem 11 
  457.    DRBLOCK[24,170]
  458.    DRBLOCK[45,170]
  459.    DRBLOCK[66,170]
  460.    DRBLOCK[87,170]
  461.    DRBLOCK[108,170]
  462.    DRBLOCK[129,170]
  463.    DRBLOCK[150,170]
  464.    DRBLOCK[171,170]
  465.    DRBLOCK[192,170]
  466.    DRBLOCK[213,170]
  467.    DRBLOCK[234,170]
  468. Rem 12 
  469.    DRBLOCK[13,185]
  470.    DRBLOCK[34,185]
  471.    DRBLOCK[55,185]
  472.    DRBLOCK[76,185]
  473.    DRBLOCK[97,185]
  474.    DRBLOCK[118,185]
  475.    DRBLOCK[139,185]
  476.    DRBLOCK[160,185]
  477.    DRBLOCK[181,185]
  478.    DRBLOCK[202,185]
  479.    DRBLOCK[223,185]
  480.    DRBLOCK[244,185]
  481. Home 
  482. Print "Lives =";LIVES
  483. Locate 26,0 : Print "Score =";SCORE
  484. XCOORD1=X Hard(17)
  485. YCOORD1=Y Hard(171)
  486. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  487. End Proc
  488. Procedure SCR3
  489. CHPALETTE
  490. Cls 0
  491. BL1X=140 : BL1Y=20
  492. TILES=103 : COUNT=0
  493. Rem Row 1
  494.    DRBLOCK[35,20]
  495.    DRBLOCK[140,20]
  496.    DRBLOCK[245,20]
  497. Rem ROW 2
  498.    DRBLOCK[24,35]
  499.    DRBLOCK[45,35]
  500.    DRBLOCK[129,35]
  501.    DRBLOCK[150,35]
  502.    DRBLOCK[234,35]
  503.    DRBLOCK[255,35]
  504. Rem Row 3
  505.    DRBLOCK[34,50]
  506.    DRBLOCK[55,50]
  507.    DRBLOCK[118,50]
  508.    DRBLOCK[160,50]
  509.    DRBLOCK[223,50]
  510.    DRBLOCK[244,50]
  511. Rem Row 4
  512.    DRBLOCK[44,65]
  513.    DRBLOCK[65,65]
  514.    DRBLOCK[86,65]
  515.    DRBLOCK[107,65]
  516.    DRBLOCK[170,65]
  517.    DRBLOCK[191,65]
  518.    DRBLOCK[212,65]
  519.    DRBLOCK[233,65]
  520. Rem Row 5
  521.    DRBLOCK[54,80]
  522.    DRBLOCK[75,80]
  523.    DRBLOCK[96,80]
  524.    DRBLOCK[117,80]
  525.    DRBLOCK[159,80]
  526.    DRBLOCK[180,80]
  527.    DRBLOCK[201,80]
  528.    DRBLOCK[222,80]
  529. Rem Row 6
  530.    DRBLOCK[43,95]
  531.    DRBLOCK[64,95]
  532.    DRBLOCK[85,95]
  533.    DRBLOCK[106,95]
  534.    DRBLOCK[127,95]
  535.    DRBLOCK[148,95]
  536.    DRBLOCK[169,95]
  537.    DRBLOCK[190,95]
  538.    DRBLOCK[211,95]
  539.    DRBLOCK[232,95]
  540. Rem Row 7
  541.    DRBLOCK[32,110]
  542.    DRBLOCK[53,110]
  543.    DRBLOCK[74,110]
  544.    DRBLOCK[95,110]
  545.    DRBLOCK[116,110]
  546.    DRBLOCK[137,110]
  547.    DRBLOCK[158,110]
  548.    DRBLOCK[179,110]
  549.    DRBLOCK[200,110]
  550.    DRBLOCK[221,110]
  551.    DRBLOCK[242,110]
  552. Rem Row 8
  553.    DRBLOCK[21,125]
  554.    DRBLOCK[42,125]
  555.    DRBLOCK[63,125]
  556.    DRBLOCK[84,125]
  557.    DRBLOCK[105,125]
  558.    DRBLOCK[126,125]
  559.    DRBLOCK[147,125]
  560.    DRBLOCK[168,125]
  561.    DRBLOCK[189,125]
  562.    DRBLOCK[210,125]
  563.    DRBLOCK[231,125]
  564.    DRBLOCK[252,125]
  565. Rem Row 9
  566.    DRBLOCK[31,140]
  567.    DRBLOCK[52,140]
  568.    DRBLOCK[73,140]
  569.    DRBLOCK[94,140]
  570.    DRBLOCK[115,140]
  571.    DRBLOCK[136,140]
  572.    DRBLOCK[157,140]
  573.    DRBLOCK[178,140]
  574.    DRBLOCK[199,140]
  575.    DRBLOCK[220,140]
  576.    DRBLOCK[241,140]
  577. Rem Row 10 
  578.    DRBLOCK[41,155]
  579.    DRBLOCK[62,155]
  580.    DRBLOCK[83,155]
  581.    DRBLOCK[104,155]
  582.    DRBLOCK[125,155]
  583.    DRBLOCK[146,155]
  584.    DRBLOCK[167,155]
  585.    DRBLOCK[188,155]
  586.    DRBLOCK[209,155]
  587.    DRBLOCK[230,155]
  588. Rem Row 11 
  589.    DRBLOCK[51,170]
  590.    DRBLOCK[72,170]
  591.    DRBLOCK[93,170]
  592.    DRBLOCK[177,170]
  593.    DRBLOCK[198,170]
  594.    DRBLOCK[219,170]
  595. Rem Row 12 
  596.    DRBLOCK[40,185]
  597.    DRBLOCK[61,185]
  598.    DRBLOCK[82,185]
  599.    DRBLOCK[187,185]
  600.    DRBLOCK[208,185]
  601.    DRBLOCK[229,185]
  602. Rem Row 13 
  603.    DRBLOCK[29,200]
  604.    DRBLOCK[50,200]
  605.    DRBLOCK[71,200]
  606.    DRBLOCK[197,200]
  607.    DRBLOCK[218,200]
  608.    DRBLOCK[239,200]
  609. Home 
  610. Print "Lives =";LIVES
  611. Locate 26,0 : Print "Score =";SCORE
  612. XCOORD1=X Hard(33)
  613. YCOORD1=Y Hard(186)
  614. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  615. End Proc
  616. Procedure SCR4
  617. CHPALETTE2
  618. Load "dep0.abk"
  619. Music 1 : Mvolume 63 : Tempo 16
  620. TILES=67 : COUNT=0
  621. Cls 0
  622. BL1X=140 : BL1Y=20
  623. Rem 1
  624.    DRBLOCK[140,20]
  625.    DRBLOCK[161,20]
  626. Rem 2
  627.    DRBLOCK[129,35]
  628.    DRBLOCK[150,35]
  629.    DRBLOCK[171,35]
  630. Rem 3
  631.    DRBLOCK[118,50]
  632.    DRBLOCK[139,50]
  633.    DRBLOCK[160,50]
  634.    DRBLOCK[181,50]
  635. Rem 4
  636.    DRBLOCK[107,65]
  637.    DRBLOCK[128,65]
  638.    DRBLOCK[170,65]
  639.    DRBLOCK[191,65]
  640. Rem 5
  641.    DRBLOCK[96,80]
  642.    DRBLOCK[117,80]
  643.    DRBLOCK[180,80]
  644.    DRBLOCK[201,80]
  645. Rem 6
  646.    DRBLOCK[85,95]
  647.    DRBLOCK[106,95]
  648.    DRBLOCK[190,95]
  649.    DRBLOCK[211,95]
  650. Rem 7
  651.    DRBLOCK[74,110]
  652.    DRBLOCK[95,110]
  653.    DRBLOCK[200,110]
  654.    DRBLOCK[221,110]
  655. Rem 8
  656.    DRBLOCK[63,125]
  657.    DRBLOCK[84,125]
  658.    DRBLOCK[105,125]
  659.    DRBLOCK[126,125]
  660.    DRBLOCK[147,125]
  661.    DRBLOCK[168,125]
  662.    DRBLOCK[189,125]
  663.    DRBLOCK[210,125]
  664.    DRBLOCK[231,125]
  665. Rem 9
  666.    DRBLOCK[52,140]
  667.    DRBLOCK[73,140]
  668.    DRBLOCK[94,140]
  669.    DRBLOCK[115,140]
  670.    DRBLOCK[136,140]
  671.    DRBLOCK[157,140]
  672.    DRBLOCK[178,140]
  673.    DRBLOCK[199,140]
  674.    DRBLOCK[220,140]
  675.    DRBLOCK[241,140]
  676. Rem 10 
  677.    DRBLOCK[41,155]
  678.    DRBLOCK[62,155]
  679.    DRBLOCK[83,155]
  680.    DRBLOCK[104,155]
  681.    DRBLOCK[125,155]
  682.    DRBLOCK[146,155]
  683.    DRBLOCK[167,155]
  684.    DRBLOCK[188,155]
  685.    DRBLOCK[209,155]
  686.    DRBLOCK[230,155]
  687.    DRBLOCK[251,155]
  688. Rem 11 
  689.    DRBLOCK[30,170]
  690.    DRBLOCK[51,170]
  691.    DRBLOCK[240,170]
  692.    DRBLOCK[261,170]
  693. Rem 12 
  694.    DRBLOCK[19,185]
  695.    DRBLOCK[40,185]
  696.    DRBLOCK[250,185]
  697.    DRBLOCK[271,185]
  698. Rem 13 
  699.    DRBLOCK[8,200]
  700.    DRBLOCK[29,200]
  701.    DRBLOCK[260,200]
  702.    DRBLOCK[281,200]
  703. Home 
  704. Print "Lives =";LIVES
  705. Locate 26,0 : Print "Score =";SCORE
  706. XCOORD1=X Hard(12)
  707. YCOORD1=Y Hard(186)
  708. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  709. End Proc
  710. Procedure SCR5
  711. CHPALETTE2
  712. Cls 0
  713. TILES=76 : COUNT=0
  714. BL1X=150 : BL1Y=20
  715. Rem 1
  716.    DRBLOCK[150,20]
  717. Rem 2
  718.    DRBLOCK[139,35]
  719.    DRBLOCK[160,35]
  720. Rem 3
  721.    DRBLOCK[128,50]
  722.    DRBLOCK[149,50]
  723.    DRBLOCK[170,50]
  724. Rem 4
  725.    DRBLOCK[117,65]
  726.    DRBLOCK[138,65]
  727.    DRBLOCK[159,65]
  728.    DRBLOCK[180,65]
  729. Rem 5
  730.    DRBLOCK[22,80]
  731.    DRBLOCK[43,80]
  732.    DRBLOCK[64,80]
  733.    DRBLOCK[85,80]
  734.    DRBLOCK[106,80]
  735.    DRBLOCK[127,80]
  736.    DRBLOCK[148,80]
  737.    DRBLOCK[169,80]
  738.    DRBLOCK[190,80]
  739.    DRBLOCK[211,80]
  740.    DRBLOCK[232,80]
  741.    DRBLOCK[253,80]
  742.    DRBLOCK[274,80]
  743. Rem 6
  744.    DRBLOCK[32,95]
  745.    DRBLOCK[53,95]
  746.    DRBLOCK[74,95]
  747.    DRBLOCK[95,95]
  748.    DRBLOCK[116,95]
  749.    DRBLOCK[137,95]
  750.    DRBLOCK[158,95]
  751.    DRBLOCK[179,95]
  752.    DRBLOCK[200,95]
  753.    DRBLOCK[221,95]
  754.    DRBLOCK[242,95]
  755.    DRBLOCK[263,95]
  756. Rem 7
  757.    DRBLOCK[42,110]
  758.    DRBLOCK[63,110]
  759.    DRBLOCK[84,110]
  760.    DRBLOCK[105,110]
  761.    DRBLOCK[126,110]
  762.    DRBLOCK[147,110]
  763.    DRBLOCK[168,110]
  764.    DRBLOCK[189,110]
  765.    DRBLOCK[210,110]
  766.    DRBLOCK[231,110]
  767.    DRBLOCK[252,110]
  768. Rem 8
  769.    DRBLOCK[52,125]
  770.    DRBLOCK[73,125]
  771.    DRBLOCK[94,125]
  772.    DRBLOCK[115,125]
  773.    DRBLOCK[136,125]
  774.    DRBLOCK[157,125]
  775.    DRBLOCK[178,125]
  776.    DRBLOCK[199,125]
  777.    DRBLOCK[220,125]
  778.    DRBLOCK[241,125]
  779. Rem 9
  780.    DRBLOCK[62,140]
  781.    DRBLOCK[83,140]
  782.    DRBLOCK[104,140]
  783.    DRBLOCK[125,140]
  784.    DRBLOCK[167,140]
  785.    DRBLOCK[188,140]
  786.    DRBLOCK[209,140]
  787.    DRBLOCK[230,140]
  788. Rem 10 
  789.    DRBLOCK[72,155]
  790.    DRBLOCK[93,155]
  791.    DRBLOCK[114,155]
  792.    DRBLOCK[177,155]
  793.    DRBLOCK[198,155]
  794.    DRBLOCK[219,155]
  795. Rem 11 
  796.    DRBLOCK[82,170]
  797.    DRBLOCK[103,170]
  798.    DRBLOCK[187,170]
  799.    DRBLOCK[208,170]
  800. Rem 12 
  801.    DRBLOCK[92,185]
  802.    DRBLOCK[197,185]
  803. Home 
  804. Print "Lives =";LIVES
  805. Locate 26,0 : Print "Score =";SCORE
  806. XCOORD1=X Hard(96)
  807. YCOORD1=Y Hard(171)
  808. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  809. End Proc
  810. Procedure SCR6
  811. CHPALETTE2
  812. Cls 0
  813. TILES=115 : COUNT=0
  814. BL1X=272 : BL1Y=20
  815. Rem 1
  816.    DRBLOCK[20,20]
  817.    DRBLOCK[41,20]
  818.    DRBLOCK[62,20]
  819.    DRBLOCK[83,20]
  820.    DRBLOCK[104,20]
  821.    DRBLOCK[125,20]
  822.    DRBLOCK[146,20]
  823.    DRBLOCK[167,20]
  824.    DRBLOCK[188,20]
  825.    DRBLOCK[209,20]
  826.    DRBLOCK[230,20]
  827.    DRBLOCK[251,20]
  828.    DRBLOCK[272,20]
  829. Rem 2
  830.    DRBLOCK[30,35]
  831.    DRBLOCK[51,35]
  832.    DRBLOCK[72,35]
  833.    DRBLOCK[93,35]
  834.    DRBLOCK[114,35]
  835.    DRBLOCK[135,35]
  836.    DRBLOCK[156,35]
  837.    DRBLOCK[177,35]
  838.    DRBLOCK[198,35]
  839.    DRBLOCK[219,35]
  840.    DRBLOCK[240,35]
  841.    DRBLOCK[261,35]
  842. Rem 3
  843.    DRBLOCK[40,50]
  844.    DRBLOCK[61,50]
  845.    DRBLOCK[103,50]
  846.    DRBLOCK[124,50]
  847.    DRBLOCK[166,50]
  848.    DRBLOCK[187,50]
  849.    DRBLOCK[229,50]
  850.    DRBLOCK[250,50]
  851. Rem 4
  852.    DRBLOCK[50,65]
  853.    DRBLOCK[71,65]
  854.    DRBLOCK[92,65]
  855.    DRBLOCK[113,65]
  856.    DRBLOCK[176,65]
  857.    DRBLOCK[197,65]
  858.    DRBLOCK[218,65]
  859.    DRBLOCK[239,65]
  860. Rem 5
  861.    DRBLOCK[60,80]
  862.    DRBLOCK[81,80]
  863.    DRBLOCK[102,80]
  864.    DRBLOCK[186,80]
  865.    DRBLOCK[207,80]
  866.    DRBLOCK[228,80]
  867. Rem 6
  868.    DRBLOCK[70,95]
  869.    DRBLOCK[91,95]
  870.    DRBLOCK[196,95]
  871.    DRBLOCK[217,95]
  872. Rem 7
  873.    DRBLOCK[59,110]
  874.    DRBLOCK[80,110]
  875.    DRBLOCK[101,110]
  876.    DRBLOCK[185,110]
  877.    DRBLOCK[206,110]
  878.    DRBLOCK[227,110]
  879. Rem 8
  880.    DRBLOCK[48,125]
  881.    DRBLOCK[69,125]
  882.    DRBLOCK[90,125]
  883.    DRBLOCK[111,125]
  884.    DRBLOCK[174,125]
  885.    DRBLOCK[195,125]
  886.    DRBLOCK[216,125]
  887.    DRBLOCK[237,125]
  888. Rem 9
  889.    DRBLOCK[37,140]
  890.    DRBLOCK[58,140]
  891.    DRBLOCK[100,140]
  892.    DRBLOCK[121,140]
  893.    DRBLOCK[163,140]
  894.    DRBLOCK[184,140]
  895.    DRBLOCK[226,140]
  896.    DRBLOCK[247,140]
  897. Rem 10 
  898.    DRBLOCK[26,155]
  899.    DRBLOCK[47,155]
  900.    DRBLOCK[110,155]
  901.    DRBLOCK[131,155]
  902.    DRBLOCK[152,155]
  903.    DRBLOCK[173,155]
  904.    DRBLOCK[236,155]
  905.    DRBLOCK[257,155]
  906. Rem 11 
  907.    DRBLOCK[15,170]
  908.    DRBLOCK[36,170]
  909.    DRBLOCK[120,170]
  910.    DRBLOCK[141,170]
  911.    DRBLOCK[162,170]
  912.    DRBLOCK[246,170]
  913.    DRBLOCK[267,170]
  914. Rem 12 
  915.    DRBLOCK[4,185]
  916.    DRBLOCK[25,185]
  917.    DRBLOCK[46,185]
  918.    DRBLOCK[67,185]
  919.    DRBLOCK[88,185]
  920.    DRBLOCK[109,185]
  921.    DRBLOCK[130,185]
  922.    DRBLOCK[151,185]
  923.    DRBLOCK[172,185]
  924.    DRBLOCK[193,185]
  925.    DRBLOCK[214,185]
  926.    DRBLOCK[235,185]
  927.    DRBLOCK[256,185]
  928.    DRBLOCK[277,185]
  929. Rem 13 
  930.    DRBLOCK[14,200]
  931.    DRBLOCK[35,200]
  932.    DRBLOCK[56,200]
  933.    DRBLOCK[77,200]
  934.    DRBLOCK[98,200]
  935.    DRBLOCK[119,200]
  936.    DRBLOCK[140,200]
  937.    DRBLOCK[161,200]
  938.    DRBLOCK[182,200]
  939.    DRBLOCK[203,200]
  940.    DRBLOCK[224,200]
  941.    DRBLOCK[245,200]
  942.    DRBLOCK[266,200]
  943. Home 
  944. Print "Lives =";LIVES
  945. Locate 26,0 : Print "Score =";SCORE
  946. XCOORD1=X Hard(18)
  947. YCOORD1=Y Hard(186)
  948. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  949. End Proc
  950. Procedure SCR7
  951. Load "crock.abk"
  952. Music 1 : Mvolume 63 : Tempo 16
  953. CHPALETTE3
  954. BL1X=20 : BL1Y=20
  955. TILES=109 : COUNT=0
  956. Cls 0
  957. Rem 1
  958.    DRBLOCK[20,20]
  959.    DRBLOCK[272,20]
  960. Rem 2
  961.    DRBLOCK[30,35]
  962.    DRBLOCK[51,35]
  963.    DRBLOCK[72,35]
  964.    DRBLOCK[93,35]
  965.    DRBLOCK[114,35]
  966.    DRBLOCK[135,35]
  967.    DRBLOCK[156,35]
  968.    DRBLOCK[177,35]
  969.    DRBLOCK[198,35]
  970.    DRBLOCK[219,35]
  971.    DRBLOCK[240,35]
  972.    DRBLOCK[261,35]
  973. Rem 3
  974.    DRBLOCK[40,50]
  975.    DRBLOCK[61,50]
  976.    DRBLOCK[82,50]
  977.    DRBLOCK[103,50]
  978.    DRBLOCK[124,50]
  979.    DRBLOCK[145,50]
  980.    DRBLOCK[166,50]
  981.    DRBLOCK[187,50]
  982.    DRBLOCK[208,50]
  983.    DRBLOCK[229,50]
  984.    DRBLOCK[250,50]
  985. Rem 4
  986.    DRBLOCK[29,65]
  987.    DRBLOCK[50,65]
  988.    DRBLOCK[113,65]
  989.    DRBLOCK[176,65]
  990.    DRBLOCK[239,65]
  991.    DRBLOCK[260,65]
  992. Rem 5
  993.    DRBLOCK[18,80]
  994.    DRBLOCK[39,80]
  995.    DRBLOCK[60,80]
  996.    DRBLOCK[102,80]
  997.    DRBLOCK[186,80]
  998.    DRBLOCK[228,80]
  999.    DRBLOCK[249,80]
  1000.    DRBLOCK[270,80]
  1001. Rem 6
  1002.    DRBLOCK[7,95]
  1003.    DRBLOCK[28,95]
  1004.    DRBLOCK[70,95]
  1005.    DRBLOCK[91,95]
  1006.    DRBLOCK[112,95]
  1007.    DRBLOCK[133,95]
  1008.    DRBLOCK[154,95]
  1009.    DRBLOCK[175,95]
  1010.    DRBLOCK[196,95]
  1011.    DRBLOCK[217,95]
  1012.    DRBLOCK[259,95]
  1013.    DRBLOCK[280,95]
  1014. Rem 7
  1015.    DRBLOCK[17,110]
  1016.    DRBLOCK[38,110]
  1017.    DRBLOCK[80,110]
  1018.    DRBLOCK[101,110]
  1019.    DRBLOCK[122,110]
  1020.    DRBLOCK[143,110]
  1021.    DRBLOCK[164,110]
  1022.    DRBLOCK[185,110]
  1023.    DRBLOCK[206,110]
  1024.    DRBLOCK[248,110]
  1025.    DRBLOCK[269,110]
  1026. Rem 8
  1027.    DRBLOCK[27,125]
  1028.    DRBLOCK[48,125]
  1029.    DRBLOCK[69,125]
  1030.    DRBLOCK[90,125]
  1031.    DRBLOCK[111,125]
  1032.    DRBLOCK[132,125]
  1033.    DRBLOCK[153,125]
  1034.    DRBLOCK[174,125]
  1035.    DRBLOCK[195,125]
  1036.    DRBLOCK[216,125]
  1037.    DRBLOCK[237,125]
  1038.    DRBLOCK[258,125]
  1039. Rem 9
  1040.    DRBLOCK[37,140]
  1041.    DRBLOCK[58,140]
  1042.    DRBLOCK[121,140]
  1043.    DRBLOCK[142,140]
  1044.    DRBLOCK[163,140]
  1045.    DRBLOCK[226,140]
  1046.    DRBLOCK[247,140]
  1047. Rem 10 
  1048.    DRBLOCK[47,155]
  1049.    DRBLOCK[68,155]
  1050.    DRBLOCK[131,155]
  1051.    DRBLOCK[152,155]
  1052.    DRBLOCK[215,155]
  1053.    DRBLOCK[236,155]
  1054. Rem 11 
  1055.    DRBLOCK[57,170]
  1056.    DRBLOCK[78,170]
  1057.    DRBLOCK[120,170]
  1058.    DRBLOCK[141,170]
  1059.    DRBLOCK[162,170]
  1060.    DRBLOCK[204,170]
  1061.    DRBLOCK[225,170]
  1062. Rem 12 
  1063.    DRBLOCK[67,185]
  1064.    DRBLOCK[88,185]
  1065.    DRBLOCK[109,185]
  1066.    DRBLOCK[130,185]
  1067.    DRBLOCK[151,185]
  1068.    DRBLOCK[172,185]
  1069.    DRBLOCK[193,185]
  1070.    DRBLOCK[214,185]
  1071. Rem 13 
  1072.    DRBLOCK[77,200]
  1073.    DRBLOCK[98,200]
  1074.    DRBLOCK[119,200]
  1075.    DRBLOCK[140,200]
  1076.    DRBLOCK[161,200]
  1077.    DRBLOCK[182,200]
  1078.    DRBLOCK[203,200]
  1079. Home 
  1080. Print "Lives =";LIVES
  1081. Locate 26,0 : Print "Score =";SCORE
  1082. XCOORD1=X Hard(81)
  1083. YCOORD1=Y Hard(186)
  1084. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  1085. End Proc
  1086. Procedure SCR8
  1087. CHPALETTE3
  1088. Cls 0
  1089. BL1X=150 : BL1Y=20
  1090. TILES=62 : COUNT=0
  1091. Rem 1
  1092.    DRBLOCK[129,20]
  1093.    DRBLOCK[150,20]
  1094. Rem 2
  1095.    DRBLOCK[118,35]
  1096.    DRBLOCK[139,35]
  1097.    DRBLOCK[160,35]
  1098. Rem 3
  1099.    DRBLOCK[107,50]
  1100.    DRBLOCK[128,50]
  1101.    DRBLOCK[149,50]
  1102.    DRBLOCK[170,50]
  1103. Rem 4
  1104.    DRBLOCK[96,65]
  1105.    DRBLOCK[117,65]
  1106.    DRBLOCK[138,65]
  1107.    DRBLOCK[159,65]
  1108.    DRBLOCK[180,65]
  1109. Rem 5
  1110.    DRBLOCK[85,80]
  1111.    DRBLOCK[106,80]
  1112.    DRBLOCK[127,80]
  1113.    DRBLOCK[148,80]
  1114.    DRBLOCK[169,80]
  1115.    DRBLOCK[190,80]
  1116. Rem 6
  1117.    DRBLOCK[74,95]
  1118.    DRBLOCK[95,95]
  1119.    DRBLOCK[116,95]
  1120.    DRBLOCK[137,95]
  1121.    DRBLOCK[158,95]
  1122.    DRBLOCK[179,95]
  1123.    DRBLOCK[200,95]
  1124. Rem 7
  1125.    DRBLOCK[63,110]
  1126.    DRBLOCK[84,110]
  1127.    DRBLOCK[105,110]
  1128.    DRBLOCK[126,110]
  1129.    DRBLOCK[147,110]
  1130.    DRBLOCK[168,110]
  1131.    DRBLOCK[189,110]
  1132.    DRBLOCK[210,110]
  1133. Rem 8
  1134.    DRBLOCK[73,125]
  1135.    DRBLOCK[94,125]
  1136.    DRBLOCK[115,125]
  1137.    DRBLOCK[136,125]
  1138.    DRBLOCK[157,125]
  1139.    DRBLOCK[178,125]
  1140.    DRBLOCK[199,125]
  1141. Rem 9
  1142.    DRBLOCK[83,140]
  1143.    DRBLOCK[104,140]
  1144.    DRBLOCK[125,140]
  1145.    DRBLOCK[146,140]
  1146.    DRBLOCK[167,140]
  1147.    DRBLOCK[188,140]
  1148. Rem 10 
  1149.    DRBLOCK[93,155]
  1150.    DRBLOCK[114,155]
  1151.    DRBLOCK[135,155]
  1152.    DRBLOCK[156,155]
  1153.    DRBLOCK[177,155]
  1154. Rem 11 
  1155.    DRBLOCK[103,170]
  1156.    DRBLOCK[124,170]
  1157.    DRBLOCK[145,170]
  1158.    DRBLOCK[166,170]
  1159. Rem 12 
  1160.    DRBLOCK[113,185]
  1161.    DRBLOCK[134,185]
  1162.    DRBLOCK[155,185]
  1163. Rem 13 
  1164.    DRBLOCK[123,200]
  1165.    DRBLOCK[144,200]
  1166. Home 
  1167. Print "Lives =";LIVES
  1168. Locate 26,0 : Print "Score =";SCORE
  1169. XCOORD1=X Hard(127)
  1170. YCOORD1=Y Hard(186)
  1171. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  1172. End Proc
  1173. Procedure DRBLOCK[X,Y]
  1174.    Ink 1
  1175.    Polygon X,Y To X,Y+10 To X+9,Y+15 To X+9,Y+5 To X,Y
  1176.    Ink 2
  1177.    Polygon X+10,Y+5 To X+10,Y+15 To X+20,Y+10 To X+20,Y To X+10,Y+5
  1178.    Ink 3
  1179.    Polygon X,Y To X+9,Y+5 To X+10,Y+5 To X+20,Y To X+10,Y-5 To X+9,Y-5 To X,Y
  1180. End Proc
  1181. Procedure RBOW
  1182. Auto View Off 
  1183. Set Rainbow 0,0,90,"","",""
  1184. Rainbow 0,0,40,260
  1185. Wave 0 To 15
  1186.    TEMP1=1
  1187.    TEMP2=1
  1188. For LOP=89 To 0 Step -1
  1189.    Rain(0,LOP)=TEMP2*1
  1190.    Rain(0,89-LOP)=TEMP2*1
  1191.    Play 96-(20+(LOP/2)),0
  1192.    View 
  1193.    Add TEMP1,1,1 To 2
  1194.    If TEMP1=2 Then Inc TEMP2
  1195. Next LOP
  1196. End Proc
  1197. Procedure CHECK
  1198. Wait Vbl 
  1199. XPOS1=(X Sprite(8)-3)
  1200.    YPOS1=(Y Sprite(8)+14)
  1201.    XPOS=X Screen(XPOS1)
  1202.    YPOS=Y Screen(YPOS1)
  1203. If Point(XPOS,YPOS)=3 Then CHBLOCK[XPOS-1,YPOS]
  1204. If Point(XPOS,YPOS)=0 Then DEAD
  1205. End Proc
  1206. Procedure CHBLOCK[X,Y]
  1207.    Ink 4
  1208.    Polygon X,Y To X+9,Y+5 To X+10,Y+5 To X+20,Y To X+10,Y-5 To X+9,Y-5 To X,Y
  1209. COUNT=COUNT+1
  1210. SCORE=SCORE+10
  1211. End Proc
  1212. Procedure CHBLOCK2[X,Y]
  1213.    Ink 5
  1214.    Polygon X,Y To X+9,Y+5 To X+10,Y+5 To X+20,Y To X+10,Y-5 To X+9,Y-5 To X,Y
  1215. COUNT=COUNT+1
  1216. SCORE=SCORE+20
  1217. End Proc
  1218. Procedure CHBLOCK3[X,Y]
  1219.    Ink 6
  1220.    Polygon X,Y To X+9,Y+5 To X+10,Y+5 To X+20,Y To X+10,Y-5 To X+9,Y-5 To X,Y
  1221. COUNT=COUNT+1
  1222. SCORE=SCORE+30
  1223. End Proc
  1224. Procedure DEAD
  1225. LIVES=LIVES-1
  1226. Home : Print "Lives =";LIVES
  1227. If LIVES=0 Then FINNISH
  1228. Sprite 8,XCOORD1,YCOORD1,2 : Channel 1 To Sprite 8
  1229. Wait 50
  1230. End Proc
  1231. Procedure FINNISH
  1232.    Shift Up 10,1,4,1
  1233.    Wait 150
  1234.    Auto View Off 
  1235.    Sprite Off 
  1236.    Shift Off 
  1237.    Music Off 
  1238.    Rainbow 0,0,0,0
  1239.    View 
  1240.    HIGHSCORE
  1241.    Wait 150
  1242.    LDER
  1243. End Proc
  1244. Procedure COMPLETE
  1245.    Wait 100
  1246.    Sprite Off 
  1247. Auto View Off 
  1248. Rainbow 0,0,0,0
  1249. Set Rainbow 0,0,4095,"","","(2,1,1)"
  1250. Rainbow 0,1,40,260
  1251.    Shift Up 10,1,4,1
  1252. For C=40 To 260
  1253.    View 
  1254.    Rainbow 0,C,40,260
  1255.    Wait 1
  1256. Next C
  1257.    Shift Off 
  1258. RBOW
  1259. End Proc
  1260. Procedure INITHIGHSCORES
  1261. A=0 : Repeat 
  1262. HIGHNAME$(A)=Left$("Hopper"+Space$(20),20)
  1263. HIGH(A)=11000-(A*1000)
  1264. Inc A
  1265. Until A=10
  1266. End Proc
  1267. Procedure HIGHSCORE
  1268. A=0 : Repeat 
  1269. If SCORE>=HIGH(A)
  1270. HIGHADD
  1271. A=11
  1272. End If 
  1273. Inc A
  1274. Until A>=10
  1275. Auto View Off 
  1276. Screen Open 2,320,10,16,Lowres
  1277. Curs Off : Flash Off 
  1278. Screen To Back 2
  1279. Auto View On 
  1280. HIGHLINE["High Scores",12,61]
  1281. A=0 : Repeat 
  1282. H$=HIGHNAME$(A)+Space$(5)+Right$("000000"+Mid$(Str$(HIGH(A)),2),6)
  1283. HIGHLINE[H$,15,A+62]
  1284. Inc A
  1285. Until A=10
  1286. Screen Close 2
  1287. Put Block 61,80,10
  1288. A=0 : Repeat 
  1289. Put Block A+62,50,30+A*15
  1290. Inc A
  1291. Until A=10
  1292. End Proc
  1293. Procedure HIGHADD
  1294. Screen Open 2,230,25,16,Lowres
  1295. Curs Off : Flash Off 
  1296. Set Rainbow 2,3,25,"","","(1,2,8)"
  1297. Ink 5 : Bar 0,0 To 320,25
  1298. Ink 3 : Box 0,0 To 320,25
  1299. Paper 0 : Ink 6
  1300. Locate 0,0
  1301. Auto View On 
  1302. Centre "Enter Your Name!"
  1303. Rainbow 2,0,Y Hard(1),25
  1304. Paper 3 : Pen 5
  1305. Locate 0,1
  1306. Screen To Front 2
  1307. Line Input ":";NAME$
  1308. NAME$=Left$(NAME$+Space$(20),20)
  1309. B=9 : While B>A
  1310. HIGH(B)=HIGH(B-1)
  1311. HIGHNAME$(B)=HIGHNAME$(B-1)
  1312. Dec B : Wend 
  1313. HIGH(A)=SCORE
  1314. HIGHNAME$(A)=NAME$
  1315. Screen Close 2
  1316. End Proc
  1317. Procedure HIGHLINE[A$,C,B]
  1318. SC=Screen
  1319. Screen 2
  1320. Locate 0,0 : Paper 0 : Pen C
  1321. Print A$;
  1322. Get Block B,0,0,Len(A$)*8,10,1
  1323. Screen SC
  1324. End Proc
  1325. End