home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 126-150 / apd147 / grubgrabberii.amos / grubgrabberii.amosSourceCode < prev    next >
AMOS Source Code  |  1990-08-11  |  12KB  |  196 lines

  1. Screen Open 0,320,256,16,Lowres : Hot Spot 1,$0 : Hot Spot 2,$0 : Hot Spot 3,$0 : Hot Spot 4,$0 : Hot Spot 5,$0 : Hot Spot 6,$0 : Hot Spot 7,$0 : Hot Spot 8,$0 : Hot Spot 9,$0 : Hot Spot 10,$0 : Hot Spot 11,$0 : Hot Spot 12,$0 : Hot Spot 13,$0 : 
  2. Hot Spot 14,$0 : Hot Spot 15,$0 : Hot Spot 16,$0 : Hot Spot 17,$0 : Hot Spot 18,$0 : Hot Spot 19,$0 : Hot Spot 20,$0 : Hot Spot 21,$0 : Priority Reverse On 
  3. Get Sprite Palette : Paper 0 : Pen 15 : Cls : Break Off : Curs Off : Flash Off : Hide 
  4. TITLE:
  5. Bank Swap 3,6 : Music 1 : Home : Centre "GRUBGRABBER II" : Curs Off 
  6. Locate 0,14 : Cline : Centre "A GAME BY C.HURST" : Wait 100 : Cline : Locate 0,14 : Centre "WRITTEN WITH AMOS 1.21" : Wait 100 : Cline 
  7. Locate 0,14 : Centre "THANKS MANDARIN" : Wait 100 : Cline : Locate 0,14 : Centre "GRAPHICS: ADAM FOTHERGILL..." : Wait 100 : Cline 
  8. Locate 0,14 : Centre "...AND CHRIS HURST" : Wait 100 : Cline : Locate 0,14 : Centre "MUSIC BY LUKE MILLER." : Wait 100 : Cline 
  9. Locate 0,14 : Centre "AMOS THE CREATOR: A POWERFUL TOOL" : Wait 100 : Cline : Locate 0,14 : Centre "FROM MANDARIN SOFTWARE...AROUND ï¿½50" : Wait 100 : Cline : Locate 0,13 : Centre "HELLO TO:" : Wait 50
  10. Locate 0,14 : Centre "MUM...DAD...DEBRA...BOUCH" : Wait 100 : Cline : Locate 0,14 : Centre "KATHY...MICKEY...NAN...GRANDAD" : Wait 100 : Cline 
  11. Locate 0,14 : Centre "MARK...JEAN...JOSIE..." : Wait 100 : Cline : Locate 0,14 : Centre "AND OTHER FRIENDS AND RELATIONS" : Wait 100 : Cline : Locate 0,13 : Cline 
  12. Locate 0,14 : Centre "THANKS FOR ALL YOUR SUPPORT" : Wait 100 : Cline : Locate 0,14 : Centre "THANKS TO PETER HICKMAN AND" : Wait 100 : Cline 
  13. Locate 0,14 : Centre "AMIGA COMPUTING..." : Wait 100 : Cline : Locate 0,14 : Centre "...FOR THE GREAT AMOS COLUMN..." : Wait 100 : Cline 
  14. Locate 0,14 : Centre "...IN THE ALMANAC. KEEP IT UP." : Wait 100 : Cline : Locate 0,14 : Centre "AND IF YOU ARE GETTING BORED.." : Wait 100 : Cline 
  15. Locate 0,14 : Centre "I SHALL END BY SAYING...." : Wait 100 : Cline : Locate 0,14 : Centre "THANKYOU...GOODBYE" : Wait 100 : Cline 
  16. BEGIN:
  17. A$="Begin: If J1=1 then Jump Up ; If J1=2 then Jump Down ; If J1=4 then Jump Left ; If J1=8 then J R ; If J1=9 then J C ; If J1=5 then J A ; If J1=10 then J E ; If J1=6 then J F ;"
  18. A$=A$+"J B ;"
  19. A$=A$+"Up: Anim 1,(10,4); Move 0,-12,12"
  20. A$=A$+"Jump Begin ;"
  21. A$=A$+"Down: Anim 1,(4,4)(5,4)(6,4) ; Move 0,12,12"
  22. A$=A$+"Jump Begin ;"
  23. A$=A$+"Left: Anim 1,(1,4)(2,4)(3,4) ; Move -12,0,12"
  24. A$=A$+"Jump Begin ;"
  25. A$=A$+"Right: Anim 1,(7,4)(8,4)(9,4) ; Move 12,0,12"
  26. A$=A$+"Jump Begin ;"
  27. A$=A$+"A: Anim 1,(10,4); Move -12,-12,12"
  28. A$=A$+"Jump Begin ;"
  29. A$=A$+"F: Anim 1,(4,4)(5,4)(6,4) ; Move -12,12,12"
  30. A$=A$+"Jump Begin ;"
  31. A$=A$+"C: Anim 1,(10,4); Move 12,-12,12"
  32. A$=A$+"Jump Begin ;"
  33. A$=A$+"E: Anim 1,(4,4)(5,4)(6,4) ; Move 12,12,12"
  34. A$=A$+"Jump Begin ;"
  35. B$="Begin: Anim 0,(19,6)(20,6)(21,6) ; Move RB-RC,RD-RE,70"
  36. B$=B$+"Jump Begin ; "
  37. LIVES=5 : LVL=1 : BNP=0 : SC=0 : LOLLY=0 : Make Mask : Flash Off : Hide : Curs Off 
  38. Home : Centre "GRUBGRABBER II" : Locate 0,14 : Cline : Centre "AMOS P.D. THE BEST IN ENTERTAINMENT." : Locate 0,25 : Centre "Press FIRE to Play." : Curs Off 
  39. Do 
  40. If Fire(1) Then Goto GAME
  41. If Mouse Key=1 Then End 
  42. Loop 
  43. GAME:
  44. Music Off : Wait 40 : Bank Swap 3,6 : Music 1 : Mvolume 20 : Curs Off : 
  45. Goto LEVEL1
  46. LEVEL1:
  47. FP=0
  48. Sam Play 5,2 : Wait 20 : Sam Play 5,3 : TIME=500 : Pen 0 : Curs Off : Unpack 10 To 0 : Double Buffer 
  49. Paper 13 : Locate 0,1 : Print " Time:";TIME : Locate 0,1 : Centre "GRUBGRABBER II" : Locate 30,1 : Print "Money:";LOLLY : Locate 0,2 : Print " Level:";LVL : Locate 16,2 : Print "Score:";SC : Locate 30,2 : Print "Lives:";LIVES : Curs Off 
  50. X=160 : Y=130 : Bob 1,X,Y,4 : GX=50 : GY=125 : Bob 3,GX,GY,19 : Channel 1 To Bob 1 : Amal 1,A$ : Amal On 1 : Channel 2 To Bob 3 : Amal 2,B$ : Amal On 2 : Timer=0
  51. Do 
  52. RB=X : Amreg(1)=X : RC=GX : Amreg(2)=GX : RD=Y : Amreg(3)=Y : RE=GY : Amreg(4)=GY : Y=Y Bob(1) : X=X Bob(1) : GY=Y Bob(3) : GX=X Bob(3)
  53. If FP=0 Then FT=Rnd(2) : FX=Rnd(300)+10 : FY=Rnd(100)+80 : FP=1
  54. If FT=0 Then FT=11
  55. If FT=1 Then FT=12
  56. If FT=2 Then FT=18
  57. If Y=<60 Then Bob 1,,60,
  58. If Y=>230 Then Bob 1,,230,
  59. If X=>310 Then Bob 1,11,,
  60. If X=<10 Then Bob 1,309,,
  61. If GY=<60 Then Bob 3,,60,
  62. If GY=>230 Then Bob 3,,230,
  63. If GX=>310 Then Bob 3,11,,
  64. If GX=<10 Then Bob 3,309,,
  65. If Bob Col(1,3 To 3) Then Gosub DEATH
  66. If Timer=>50 Then TIME=TIME-1 : Locate 0,1 : Print " Time:";TIME;"  " : Timer=0 : If TIME=0 Then Goto TIMEOUT
  67. If FP=1 Then Bob 6,FX,FY,FT
  68. If Bob Col(1,6 To 6) Then Bob Off(6) : Gosub SCORE
  69. If LOLLY=>300 Then SC=SC+10000 : LIVES=LIVES+1 : SC=SC+(TIME*10) : Goto LEVEL2
  70. If NL=>50000 Then NL=NL-50000 : LIVES=LIVES+1
  71. Loop 
  72. LEVEL2:
  73. LVL=2 : FP=0 : LOLLY=0
  74. Sam Play 5,2 : Wait 20 : Sam Play 5,4 : TIME=600 : Pen 0 : Curs Off : Unpack 10 To 0 : Double Buffer 
  75. Paper 13 : Locate 0,1 : Print " Time:";TIME : Locate 0,1 : Centre "GRUBGRABBER II" : Locate 30,1 : Print "Money:";LOLLY : Locate 0,2 : Print " Level:";LVL : Locate 16,2 : Print "Score:";SC : Locate 30,2 : Print "Lives:";LIVES : Curs Off 
  76. X=160 : Y=130 : Bob 1,X,Y,4 : GX=50 : GY=125 : Bob 3,GX,GY,19 : Channel 1 To Bob 1 : Amal 1,A$ : Amal On 1 : Channel 2 To Bob 3 : Amal 2,B$ : Amal On 2 : Timer=0
  77. Do 
  78. RB=X : Amreg(1)=X : RC=GX : Amreg(2)=GX : RD=Y : Amreg(3)=Y : RE=GY : Amreg(4)=GY : Y=Y Bob(1) : X=X Bob(1) : GY=Y Bob(3) : GX=X Bob(3)
  79. If FP=0 Then FT=Rnd(2) : FX=Rnd(300)+10 : FY=Rnd(100)+80 : FP=1
  80. If FT=0 Then FT=11
  81. If FT=1 Then FT=12
  82. If FT=2 Then FT=18
  83. If Y=<60 Then Bob 1,,60,
  84. If Y=>230 Then Bob 1,,230,
  85. If X=>310 Then Bob 1,11,,
  86. If X=<10 Then Bob 1,309,,
  87. If GY=<60 Then Bob 3,,60,
  88. If GY=>230 Then Bob 3,,230,
  89. If GX=>310 Then Bob 3,11,,
  90. If GX=<10 Then Bob 3,309,,
  91. If Bob Col(1,3 To 3) Then Gosub DEATH
  92. If Timer=>50 Then TIME=TIME-1 : Locate 0,1 : Print " Time:";TIME;"  " : Timer=0 : If TIME=0 Then Goto TIMEOUT
  93. If FP=1 Then Bob 6,FX,FY,FT
  94. If Bob Col(1,6 To 6) Then Bob Off(6) : Gosub SCORE
  95. If LOLLY=>350 Then SC=SC+10000 : LIVES=LIVES+1 : SC=SC+(TIME*10) : Goto LEVEL3
  96. If NL=>50000 Then NL=NL-50000 : LIVES=LIVES+1
  97. Loop 
  98. LEVEL3:
  99. FP=0 : LVL=3 : LOLLY=0
  100. Sam Play 5,2 : Wait 20 : Sam Play 5,5 : TIME=700 : Pen 0 : Curs Off : Unpack 10 To 0 : Double Buffer 
  101. Paper 13 : Locate 0,1 : Print " Time:";TIME : Locate 0,1 : Centre "GRUBGRABBER II" : Locate 30,1 : Print "Money:";LOLLY : Locate 0,2 : Print " Level:";LVL : Locate 16,2 : Print "Score:";SC : Locate 30,2 : Print "Lives:";LIVES : Curs Off 
  102. X=160 : Y=130 : Bob 1,X,Y,4 : GX=50 : GY=125 : Bob 3,GX,GY,19 : Channel 1 To Bob 1 : Amal 1,A$ : Amal On 1 : Channel 2 To Bob 3 : Amal 2,B$ : Amal On 2 : Timer=0
  103. Do 
  104. RB=X : Amreg(1)=X : RC=GX : Amreg(2)=GX : RD=Y : Amreg(3)=Y : RE=GY : Amreg(4)=GY : Y=Y Bob(1) : X=X Bob(1) : GY=Y Bob(3) : GX=X Bob(3)
  105. If FP=0 Then FT=Rnd(2) : FX=Rnd(300)+10 : FY=Rnd(100)+80 : FP=1
  106. If FT=0 Then FT=11
  107. If FT=1 Then FT=12
  108. If FT=2 Then FT=18
  109. If Y=<60 Then Bob 1,,60,
  110. If Y=>230 Then Bob 1,,230,
  111. If X=>310 Then Bob 1,11,,
  112. If X=<10 Then Bob 1,309,,
  113. If GY=<60 Then Bob 3,,60,
  114. If GY=>230 Then Bob 3,,230,
  115. If GX=>310 Then Bob 3,11,,
  116. If GX=<10 Then Bob 3,309,,
  117. If Bob Col(1,3 To 3) Then Gosub DEATH
  118. If Timer=>50 Then TIME=TIME-1 : Locate 0,1 : Print " Time:";TIME;"  " : Timer=0 : If TIME=0 Then Goto TIMEOUT
  119. If FP=1 Then Bob 6,FX,FY,FT
  120. If Bob Col(1,6 To 6) Then Bob Off(6) : Gosub SCORE
  121. If LOLLY=>400 Then SC=SC+10000 : LIVES=LIVES+1 : SC=SC+(TIME*10) : Goto LEVEL4
  122. If NL=>50000 Then NL=NL-50000 : LIVES=LIVES+1
  123. Loop 
  124. LEVEL4:
  125. FP=0 : LVL=4 : LOLLY=0
  126. Sam Play 5,2 : Wait 20 : Sam Play 5,6 : TIME=800 : Pen 0 : Curs Off : Unpack 10 To 0 : Double Buffer 
  127. Paper 13 : Locate 0,1 : Print " Time:";TIME : Locate 0,1 : Centre "GRUBGRABBER II" : Locate 30,1 : Print "Money:";LOLLY : Locate 0,2 : Print " Level:";LVL : Locate 16,2 : Print "Score:";SC : Locate 30,2 : Print "Lives:";LIVES : Curs Off 
  128. X=160 : Y=130 : Bob 1,X,Y,4 : GX=50 : GY=125 : Bob 3,GX,GY,19 : Channel 1 To Bob 1 : Amal 1,A$ : Amal On 1 : Channel 2 To Bob 3 : Amal 2,B$ : Amal On 2 : Timer=0
  129. Do 
  130. RB=X : Amreg(1)=X : RC=GX : Amreg(2)=GX : RD=Y : Amreg(3)=Y : RE=GY : Amreg(4)=GY : Y=Y Bob(1) : X=X Bob(1) : GY=Y Bob(3) : GX=X Bob(3)
  131. If FP=0 Then FT=Rnd(2) : FX=Rnd(300)+10 : FY=Rnd(100)+80 : FP=1
  132. If FT=0 Then FT=11
  133. If FT=1 Then FT=12
  134. If FT=2 Then FT=18
  135. If Y=<60 Then Bob 1,,60,
  136. If Y=>230 Then Bob 1,,230,
  137. If X=>310 Then Bob 1,11,,
  138. If X=<10 Then Bob 1,309,,
  139. If GY=<60 Then Bob 3,,60,
  140. If GY=>230 Then Bob 3,,230,
  141. If GX=>310 Then Bob 3,11,,
  142. If GX=<10 Then Bob 3,309,,
  143. If Bob Col(1,3 To 4) Then Gosub DEATH
  144. If Timer=>50 Then TIME=TIME-1 : Locate 0,1 : Print " Time:";TIME;"  " : Timer=0 : If TIME=0 Then Goto TIMEOUT
  145. If FP=1 Then Bob 6,FX,FY,FT
  146. If Bob Col(1,6 To 6) Then Bob Off(6) : Gosub SCORE
  147. If LOLLY=>450 Then SC=SC+10000 : LIVES=LIVES+1 : SC=SC+(TIME*10) : Goto LEVEL5
  148. If NL=>50000 Then NL=NL-50000 : LIVES=LIVES+1
  149. Loop 
  150. LEVEL5:
  151. FP=0 : LV=5 : LOLLY=0
  152. Sam Play 5,2 : Wait 20 : Sam Play 5,7 : TIME=900 : Pen 0 : Curs Off : Unpack 10 To 0 : Double Buffer 
  153. Paper 13 : Locate 0,1 : Print " Time:";TIME : Locate 0,1 : Centre "GRUBGRABBER II" : Locate 30,1 : Print "Money:";LOLLY : Locate 0,2 : Print " Level:";LVL : Locate 16,2 : Print "Score:";SC : Locate 30,2 : Print "Lives:";LIVES : Curs Off 
  154. X=160 : Y=130 : Bob 1,X,Y,4 : GX=50 : GY=125 : Bob 3,GX,GY,19 : Channel 1 To Bob 1 : Amal 1,A$ : Amal On 1 : Channel 2 To Bob 3 : Amal 2,B$ : Amal On 2 : Timer=0
  155. Do 
  156. RB=X : Amreg(1)=X : RC=GX : Amreg(2)=GX : RD=Y : Amreg(3)=Y : RE=GY : Amreg(4)=GY : Y=Y Bob(1) : X=X Bob(1) : GY=Y Bob(3) : GX=X Bob(3)
  157. If FP=0 Then FT=Rnd(2) : FX=Rnd(300)+10 : FY=Rnd(100)+80 : FP=1
  158. If FT=0 Then FT=11
  159. If FT=1 Then FT=12
  160. If FT=2 Then FT=18
  161. If Y=<60 Then Bob 1,,60,
  162. If Y=>230 Then Bob 1,,230,
  163. If X=>310 Then Bob 1,11,,
  164. If X=<10 Then Bob 1,309,,
  165. If GY=<60 Then Bob 3,,60,
  166. If GY=>230 Then Bob 3,,230,
  167. If GX=>310 Then Bob 3,11,,
  168. If GX=<10 Then Bob 3,309,,
  169. If Bob Col(1,3 To 3) Then Gosub DEATH
  170. If Timer=>50 Then TIME=TIME-1 : Locate 0,1 : Print " Time:";TIME;"  " : Timer=0 : If TIME=0 Then Goto TIMEOUT
  171. If FP=1 Then Bob 6,FX,FY,FT
  172. If Bob Col(1,6 To 6) Then Bob Off(6) : Gosub SCORE
  173. If LOLLY=>500 Then SC=SC+10000 : LIVES=LIVES+1 : SC=SC+(TIME*10) : Goto WON
  174. If NL=>50000 Then NL=NL-50000 : LIVES=LIVES+1
  175. Loop 
  176. GAMEOVER:
  177. Bob Off : Screen Open 0,320,256,16,Lowres : Curs Off : Get Sprite Palette : Paper 0 : Pen 15 : Cls 
  178. Locate 0,14 : Centre "Elvins Adventure is over." : Curs Off : Wait 100 : Cline : Locate 0,14 : Centre "Anykey to continue." : Curs Off : Clear Key : Wait Key : Bank Swap 3,6 : Music 1 : Cline : Goto BEGIN : 
  179. TIMEOUT:
  180. Bob Off : Screen Open 0,320,256,16,Lowres : Curs Off : Get Sprite Palette : Paper 0 : Pen 15 : Cls 
  181. Bank Swap 3,6 : Locate 0,14 : Centre "Time ran out." : Curs Off : Wait 100 : Cline : Centre "Elvins Adventure is over." : Curs Off : Wait 100 : Cline : Locate 0,14 : Centre "Anykey to continue." : Curs Off : Clear Key : Wait Key : Cline : Goto BEGIN : 
  182. SCORE:
  183. If FT=11 Then LOLLY=LOLLY+3 : SC=SC+30 : NL=NL+30 : Locate 30,1 : Print "Money:";LOLLY : Locate 16,2 : Print "Score:";SC : FP=0 : Return 
  184. If FT=12 Then LOLLY=LOLLY+1 : SC=SC+10 : NL=NL+10 : Locate 30,1 : Print "Money:";LOLLY : Locate 16,2 : Print "Score:";SC : FP=0 : Return 
  185. If FT=18 Then LOLLY=LOLLY+2 : SC=SC+20 : NL=NL+20 : Locate 30,1 : Print "Money:";LOLLY : Locate 16,2 : Print "Score:";SC : FP=0 : Return 
  186. WON:
  187. Screen Open 0,320,256,16,Lowres : Locate 0,14 : Centre "Elvin completed his task..." : 
  188. Wait 200 : Cline : Locate 0,14 : Print "...and returned to his job..." : Wait 200 : Cline : Locate 0,14 : Print "...A happy elf!"
  189. Bank Swap 3,6 : Locate 0,20 : Centre "Anykey to return to title" : Wait Key : Bank Swap 3,6 : Music 1 : Goto BEGIN
  190. DEATH:
  191. 0 Bob 1,X,Y,13 : Bob 2,X,Y-13,14 : Amal Freeze 1 : Amal Freeze 2 : Sam Play 5,1
  192. DIE$="A 0,(14,4)(15,4)(16,4)(17,4)" : Channel 10 To Bob 2 : Amal 10,DIE$ : Amal On 10 : Wait 32
  193. Sam Play 5,8 : LIVES=LIVES-1 : Locate 30,2 : Print "Lives:";LIVES : X=160 : Y=130 : GX=50 : GY=125 : GX2=140 : GY2=180 : If LIVES=0 Then Goto GAMEOVER
  194. Do 
  195. If Fire(1) Then Bob 1,X,Y,4 : Bob 3,GX,GY,19 : Amal On 1 : Amal On 2 : Bob Off(2) : Return 
  196. Loop