home *** CD-ROM | disk | FTP | other *** search
/ Merciful 1 / Merciful - Disc 1.iso / software / s / stop_n_block / stopnblock.dms / in.adf / S'N'B.AMOS / S'N'B.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1991-06-13  |  4.7 KB  |  184 lines

  1. Screen Open 0,320,260,32,Lowres
  2. Rem **************************************** 
  3. Rem *                                      * 
  4. Rem *        Written 23/6/91               * 
  5. Rem *       By  Paul Cutler                * 
  6. Rem *       and Tony Street                * 
  7. Rem *                                      * 
  8. Rem **************************************** 
  9. Led Off 
  10. Close Workbench : Close Editor 
  11. DEMO_INTRO
  12. Procedure DEMO_INTRO
  13.    SCR_OPEN[0,0,320,260,32,Lowres]
  14.    Double Buffer 
  15.    Unpack 7 To 1
  16.    Screen Hide 1
  17.    Erase 7
  18.    Music 1 : Mvolume 63
  19.    Screen Hide 1
  20.    Wait 120-Timer
  21.    '
  22.    SCR_OPEN[0,0,320,260,16,Lowres]
  23.    Get Palette(1)
  24.    SPLERGE_UP[2,1,0]
  25.    Screen Close 1
  26.    '
  27.    '
  28.    Wait 500
  29.    SLIDE_OFF_DIAG2[0]
  30.    Unpack 6 To 1
  31.    Screen Hide 1
  32.    Erase 6
  33.    Screen Hide 1
  34.    Wait 120-Timer
  35.    '
  36.    SCR_OPEN[0,0,320,260,16,Lowres]
  37.    Get Palette(1)
  38.    SPLERGE_UP[2,1,0]
  39.    Screen Close 1
  40.    '
  41.    '
  42. Wait Key 
  43. Music Off 
  44. STM
  45. End Proc
  46. Procedure SPLERGE_UP[SPEED,SOURCE,DEST]
  47.    For LOP=0 To(260-SPEED) Step SPEED
  48.       For LOP1=260 To LOP Step -SPEED
  49.          Screen Copy SOURCE,0,LOP,320,LOP+SPEED To DEST,0,LOP1
  50.       Next LOP1
  51.    Next LOP
  52. End Proc
  53. Procedure SLIDE_OFF_DIAG2[NUM]
  54.    Y=50
  55.    For LOP=128 To 432 Step 16
  56.       Screen Display NUM,LOP,Y,,
  57.       Add Y,14
  58.       Wait Vbl 
  59.    Next LOP
  60. End Proc
  61. Procedure SCR_OPEN[SCR,AUTO,X,Y,NUM,RES]
  62.    Screen Open SCR,X,Y,NUM,RES
  63.    Autoback AUTO
  64.    Flash Off 
  65.    Curs Off 
  66.    Hide On 
  67.    Cls 0
  68. End Proc
  69. Procedure STM
  70. Screen Open 0,320,256,16,Lowres
  71. Hide 
  72. Unpack 8 To 0
  73. Get Sprite Palette 
  74. Flash Off 
  75. Curs Off 
  76. Double Buffer 
  77. SP=3 : SPP=9
  78. SC1=0 : SC2=0
  79. Paper 1 : Pen 9 : Locate 6,1 : Print SC1 : X=15 : Y=21
  80. Paper 1 : Pen 2 : Locate 37,1 : Print SC1 : XX=275 : YY=215
  81. L=Rnd(3)
  82. If L=0 Then Proc LEV1
  83. If L=1 Then Proc LEV2
  84. If L=2 Then Proc LEV3
  85. If L=3 Then Proc LEV4
  86. Proc BOACK
  87. Do 
  88. If Fire(1) Then MX=X : MY=Y : If SP<4 : MB=19 : Else MB=20 : End If : Bob 10,MX,MY,MB
  89. If Fire(0) Then MXX=XX : MYY=YY : If SPP<12 : MBB=21 : Else MBB=22 : End If : Bob 11,MXX,MYY,MBB
  90. If Jright(1) Then SP=3 : X=X+2
  91.    If Jleft(1) Then SP=1 : X=X-2
  92.    If Jdown(1) Then SP=7 : Y=Y+2
  93.    If Jup(1) Then SP=5 : Y=Y-2
  94.    If X<3 Then Shoot : X=X+2
  95.    If X>285 Then Shoot : X=X-2
  96.    If Y>220 Then Shoot : Y=Y-2
  97.    If Jright(0) Then SPP=11 : XX=XX+2
  98.    If Jleft(0) Then SPP=9 : XX=XX-2
  99.    If Jdown(0) Then SPP=15 : YY=YY+2
  100.    If Jup(0) Then SPP=13 : YY=YY-2
  101. Rem border collision 
  102.    If XX<3 Then Shoot : XX=XX+2
  103.    If XX>285 Then Shoot : XX=XX-2
  104.    If YY>220 Then Shoot : YY=YY-2
  105.    If Y<16 Then Shoot : Y=Y+2
  106.    If YY<16 Then Shoot : YY=YY+2
  107. Rem bonus collision
  108. If Bob Col(1,9 To 9) Then Bell : Bob Off 9 : SC1=SC1+1 : Paper 1 : Locate 6,1 : Pen 9 : Print SC1 : Proc BOACK
  109. If Bob Col(2,9 To 9) Then Bell : Bob Off 9 : SC2=SC2+1 : Paper 1 : Locate 37,1 : Pen 2 : Print SC2 : Proc BOACK
  110. Rem wall collision 
  111. If Bob Col(1,15 To 30) Then Boom : Bob Off 10 : SC1=SC1-1 : Paper 1 : Locate 6,1 : Pen 9 : Print SC1 : Y=21 : X=15 : SP=1
  112. If Bob Col(2,15 To 30) Then Boom : Bob Off 11 : SC2=SC2-1 : Paper 1 : Locate 37,1 : Pen 2 : Print SC2 : YY=215 : XX=275 : SPP=9 : 
  113. Rem bomb collision 
  114. If Bob Col(2,10 To 10) : XX=275 : YY=215 : SPP=9 : Bob Off 10 : SC2=SC2-1 : Paper 1 : Pen 2 : Locate 37,1 : Print SC2 : End If 
  115. If Bob Col(1,11 To 11) : Y=21 : X=15 : SP=3 : Bob Off 11 : SC1=SC1-1 : Paper 1 : Pen 9 : Locate 6,1 : Print SC1 : End If 
  116. If SC1>HI Then HI=SC1 : Locate 22,1 : Pen 9 : Print HI;" P1"
  117. If SC2>HI Then HI=SC2 : Locate 22,1 : Pen 2 : Print HI;" P2"
  118. If SC1=10 Then Bob Off : BLUE
  119. If SC2=10 Then Bob Off : RED
  120. Bob 1,X,Y,SP
  121. Bob 2,XX,YY,SPP
  122. Loop 
  123. End Proc
  124. Procedure BOACK
  125. X=Rnd(273) : Y=Rnd(210)
  126. X=X+4 : Y=Y+17
  127. Bob 9,X,Y,17
  128. If Bob Col(9,15 To 30) Then BOACK
  129. End Proc
  130. Procedure LEV1
  131. Rem top line 
  132. Bob 15,155,50,26 : Bob 16,63,50,26
  133. Rem bottom line
  134. Bob 17,155,200,26 : Bob 18,63,200,26
  135. Rem Down line & up line
  136. Bob 19,62,64,25 : Bob 20,172,64,25
  137. Bob 21,231,109,25 : Bob 22,111,109,25
  138. End Proc
  139. Procedure LEV2
  140. Rem top line 
  141. Bob 15,145,48,26 : Bob 16,53,48,26
  142. Rem bottom line
  143. Bob 22,175,200,26 : Bob 18,83,200,26
  144. Rem down across lines
  145. Bob 19,52,62,25 : Bob 20,53,138,26
  146. Rem up across lines
  147. Bob 21,251,113,25 : Bob 17,175,99,26
  148. End Proc
  149. Procedure LEV3
  150. Rem uprights 
  151. Bob 15,250,120,25 : Bob 16,200,53,25
  152. Bob 17,150,120,25 : Bob 18,100,53,25
  153. Bob 19,50,120,25
  154. End Proc
  155. Procedure LEV4
  156. Rem large corners
  157. Bob 15,250,120,25 : Bob 16,159,196,26
  158. Bob 17,55,53,25 : Bob 18,71,54,26
  159. Rem centre line
  160. Bob 19,117,125,26
  161. Rem small corners
  162. Bob 20,247,52,23 : Bob 21,217,50,24
  163. Bob 22,52,179,23 : Bob 23,68,193,24
  164. End Proc
  165. Procedure BLUE
  166. Cls 0
  167. Pen 9
  168. Paper 0
  169. Locate 10,10 : Print "THE WINNER IS BLUE"
  170. Print 
  171. Centre "Hit a key to continue"
  172. Wait Key 
  173. STM
  174. End Proc
  175. Procedure RED
  176. Cls 0
  177. Pen 2
  178. Paper 0
  179. Locate 10,10 : Print "THE WINNER IS RED"
  180. Print 
  181. Centre "Hit a key to continue"
  182. Wait Key 
  183. STM
  184. End Proc