home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / demos / mzbs.amos / mzbs.amosSourceCode < prev    next >
AMOS Source Code  |  1989-11-15  |  30KB  |  814 lines

  1. Procedure INFO
  2.    Rem ************************************ 
  3.    Rem *      Hawk Moon                   * 
  4.    Rem *       20-7-90                    * 
  5.    Rem *    (c) C.Banks                   * 
  6.    Rem ************************************ 
  7.    Rem
  8. End Proc
  9. SETCHAN
  10. INITIAL: Rem
  11. JS=10 : MS2=0
  12. PL=99 : P7=98
  13. MT=0 : LEV=0
  14. Global JS,LEV,P,J,JP,PL,P7,H
  15. TITLES
  16. LEVELSORT
  17. Procedure SETCHAN
  18.    Channel 0 To Sprite 0 : Rem 0 is anim channel...ch1 is movemnt chan
  19.    Channel 1 To Sprite 0 : Rem sprites 0 & 1 are main character 
  20.    Channel 2 To Sprite 2 : Rem sprite 2-3  is bike pump.. 
  21.    Channel 4 To Sprite 4 : Rem 4-  platform 
  22.    Channel 3 To Bob 3 : Rem bike stealer 
  23.    Rem bobs 2 - 4 are free (emergency supply!): 
  24.    Channel 6 To Bob 6 : Channel 5 To Bob 5
  25.    Channel 7 To Bob 7 : Channel 8 To Bob 8
  26.    Channel 9 To Bob 9 : Channel 10 To Bob 10 : Channel 11 To Bob 11
  27.    Channel 12 To Bob 12 : Channel 13 To Bob 50 : Rem bob 50=go icon(rocket) 
  28.    Channel 14 To Bob 14 : Rem bob 14=energy indicator
  29.    Channel 15 To Bob 15
  30.    Sam Bank 6
  31. End Proc
  32. Procedure TITLES
  33.  Screen Open 0,320,255,32,Lowres
  34. Flash Off 
  35. Load "music/if.abk"
  36. Load Iff "iff/titlepic"
  37.    For DIS=-235 To 50 Step 4
  38.       Screen Display 0,135,DIS,320,250
  39.       For N=0 To 140 : Next 
  40.    Next DIS
  41.  Tempo 16 : Music 1
  42. Wait 20
  43.    Hide On 
  44.    Get Sprite Palette 
  45.    Sprite 0,150,221,1
  46.    Amal 0,"L RQ=237;L RS=0;L RJ=0;Loop: A 30,(1,9)(2,9)(3,9)(2,9);M 200,0,180;A 30,(4,9)(5,9)(6,9)(5,9);M -200,0,180;J Loop"
  47.    Curs Off : Paper 0 : Ink 8
  48.    Amal On(0)
  49. BUTTON: Rem wait for button
  50. While Fire(1)=0
  51. Goto BUTTON
  52. Wend 
  53. End Proc
  54. Procedure LEVELSORT
  55. Sprite Off 
  56.    Cls 0 : Bob Off 
  57. Wait 10
  58.    Locate 10,10 : Paper 0 : Print "GET READY ! ! !   " : Wait 30
  59.    For DIS=50 To 335
  60.       Screen Display 0,135,DIS,320,250
  61.       For N=0 To 80 : Next 
  62.       'Wait 1
  63.    Next DIS
  64.    Wait 40
  65.    Sprite 2,135,290,
  66.    Rem start of level set-up
  67.    Amal 0,"L RN=0;L RO=0" : Amal On(0)
  68.    If LEV=0 Then LEV40SETUP
  69.    If LEV=1 Then LEV41SETUP
  70.    If LEV=2 Then LEV42SETUP
  71.    If LEV=3 Then LEV43SETUP
  72.    If LEV=4 Then LEV44SETUP
  73.    If LEV=5 Then LEV50SETUP
  74. Bob 14,Amreg(16),5,28 : Rem energy indicator   
  75. Amal 1,"L RN=0" : Amal On(1)
  76. End Proc
  77. Rem                                       No Cheating ! ! !! 
  78. Do 
  79. If Amreg(14)=1 Then Goto SKIPROG
  80. If Spritebob Col(0,5 To 9) Then ROGERHIT
  81. SKIPROG: Rem miss roger col 
  82.    If Spritebob Col(0,50 To 50) Then Play 2,25,1 : LEV=LEV+1 : LEVELSORT
  83. If Amreg(13)=99 Then Goto SKIPICON
  84. If Amreg(13)>2 Then Amal 13,"L RN=99;A 0,(23,5)(24,5)" : Amal On(13)
  85. SKIPICON: Rem    
  86.    ZAP
  87.    JCHECK
  88.    PLAT
  89. If Spritebob Col(0,3 To 3) Then ROGERHIT
  90.    If Sprite Col(0,4 To 4) Then Sprite 0,,Y Sprite(4)+4,
  91.    PIGHIT
  92.    If LEV=0 Then LEV40
  93.    If LEV=1 Then LEV41
  94.    PLAT
  95.    If LEV=2 Then LEV42
  96.    If LEV=3 Then LEV43
  97.    If LEV=4 Then LEV44
  98.    If LEV=5 Then LEV50
  99. If Spritebob Col(0,15 To 15) Then Bob 15,,,9 : ROGERHIT
  100. Loop 
  101. Procedure ROGERHIT
  102. If Y Sprite(0)>277 Then Pop Proc
  103. If Amreg(14)=1 Then Pop Proc
  104. Amal 14,"L RO=1;L RQ=RQ-1;M 0,0,10;L RO=0" : Amal On(14)
  105. Sam Play 1,2,10200
  106. Bob 14,Amreg(16),5,28
  107. If Bob Col(49,14 To 14) Then DEAD
  108. End Proc
  109. Procedure JCHECK
  110.    'Wait Vbl : Locate 12,8 : Ink 28 : Print H 
  111.    If JS=1 Then Goto JC1
  112.    If Fire(1) Then MVUP : Rem JS=1 
  113.    JC1: Rem
  114.    If JS=2 Then Goto JC2
  115.    If Joy(1)=2 Then MVDN
  116.    JC2: Rem If JS=8 Then Goto JC3
  117.    If X Sprite(0)<130 Then Amal Off(1) : Sprite 0,X Sprite(0)+5,, : Goto JC3
  118.    PLAT
  119.    If Joy(1)=8 Then MVR : JS=8 : JP=8
  120.    JC3: Rem If JS=4 Then Goto JC4
  121.    If X Sprite(0)>440 Then Amal Off(1) : Sprite 0,X Sprite(0)-2,, : Goto JC4
  122.    If Joy(1)=4 Then MVL : JS=4 : JP=4
  123.    JC4: Rem leave joystick routine 
  124.    If Joy(1)=0 : JP=0 : NOMOVE : End If 
  125. End Proc
  126. Procedure PIGHIT
  127.    If Spritebob Col(2,5 To 9) Then PIGBASH
  128. End Proc
  129. Procedure PIGBASH
  130. 'Locate 1,1 : Print Amreg(13):rem 13= pigs hit 
  131.    If Amreg(0)=1 Then Goto PIGPUMP
  132.    If Amreg(5,9)<>0 Then Goto NPIG6
  133.    M5$="L R9=1;A 6,(47,8)(48,8);M 0,4,120;L A=59;L R9=2;M 0,0,470;L R9=3;L A=67"
  134.    M5$=M5$+"M 70,0,35;M 0,0,5;M -70,0,35;M 70,0,40;M -70,0,40;M 0,0,5;M 70,0,50"
  135.    M5$=M5$+"M -70,0,50;M 60,0,60;M -60,0,60;M 0,0,18;A 1,(63,8)(64,8)(65,8)(66,3);M 0,0,60;L RN=RN+1;Loop: M 0,-80,60;M 0,80,60;J Loop"
  136.    If Col(5) Then Amal 5,M5$ : Amal On(5) : Sam Play 8,1,7000
  137.    '
  138.    NPIG6: Rem pig  5 already bonced...skip to 6
  139.    If Amreg(6,9)<>0 Then Goto NPIG7
  140.    M6$="L R9=1;A 6,(47,8)(48,8);M 0,4,120;L A=59;L R9=2;M 0,0,420;L R9=3;L A=67"
  141.    M6$=M6$+"M 70,0,35;M 0,0,5;M -70,0,35;M 70,0,40;M -70,0,40;M 0,0,5;M 70,0,50"
  142.    M6$=M6$+"M -70,0,50;M 60,0,60;M -60,0,60;M 0,0,18;A 1,(63,8)(64,8)(65,8)(66,3);M 0,0,60;L RN=RN+1;Loop: M 0,-80,60;M 0,80,60;J Loop"
  143.    If Col(6) Then Amal 6,M6$ : Amal On(6) : Sam Play 8,1,7000
  144.    '
  145.    NPIG7: Rem pig 6 already clobbered..skip it 
  146.    If Amreg(5)<>0 Then Goto NPIG8
  147.    M7$="L RF=1:A 6,(47,8)(48,8);M 0,4,120;L A=59;L RF=2:M 0,0,420;L RF=3;L A=67"
  148.    M7$=M7$+"M 70,0,35;M 0,0,5;M -70,0,35;M 70,0,40;M -70,0,40;M 0,0,5;M 70,0,50"
  149.    M7$=M7$+"M -70,0,50;M 60,0,60;M -60,0,60;M 0,0,18;A 1,(63,8)(64,8)(65,8)(66,3);M 0,0,60;L RN=RN+1;Loop: M 0,-80,60;M 0,80,60;J Loop"
  150.    If Col(7) Then Amal 7,M7$ : Amal On(7) : Sam Play 8,1,7000
  151.    '
  152.    NPIG8: Rem pig 7 already clobbered...skip 
  153.    If Amreg(7)<>0 Then Goto NPIG9
  154.    M8$="L RH=1;A 6,(47,8)(48,8);M 0,4,120;L A=59;L RH=2:M 0,0,420;L RH=3;L A=67"
  155.    M8$=M8$+"M 70,0,35;M 0,0,5;M -70,0,35;M 70,0,40;M -70,0,40;M 0,0,5;M 70,0,50"
  156.    M8$=M8$+"M -70,0,50;M 60,0,60;M -60,0,60;M 0,0,18;A 1,(63,8)(64,8)(65,8)(66,3);M 0,0,60;L RN=RN+1;Loop: M 0,-80,60;M 0,80,60;J Loop"
  157.    If Col(8) Then Amal 8,M8$ : Amal On(8) : Sam Play 8,1,7500
  158.    '
  159.    NPIG9: Rem Pig 8 already bashed...
  160.    If Col(9) Then PIG9 : Rem Is Superpig hit ?
  161.    Pop Proc
  162.    Rem **************************************************** 
  163.    PIGPUMP: Rem SKIP CLOUT ON HEAD AND START PUMPING ! ! ! 
  164.    Rem **************************************************** 
  165.    If Col(5) Then PIG5
  166.    If Col(6) Then PIG6
  167.    If Col(7) Then PIG7
  168.    If Col(8) Then PIG8
  169. End Proc
  170. Procedure PIG5
  171.    If Amreg(5,9)=1 Then Pop Proc
  172.    If Amreg(5,9)=0 Then Pop Proc
  173.    If Amreg(5,9)=3 Then Pop Proc
  174.    If Spritebob Col(2,5 To 5) Then Amal 1,"M 0,0,0;L RB=RB+1" : Amal On(1)
  175.    If Amreg(1)>3 Then Bob 5,,,59
  176.    If Amreg(1)>7 Then Bob 5,,,60
  177.    If Amreg(1)>11 Then Bob 5,,,61
  178.    If Amreg(1)>15 Then Bob 5,,,62
  179.    If Amreg(1)>19 Then Amal Off(5) : Amal 5,"L RN=RN+1;A 1,(63,28)(64,7)(65,7)(9,1)" : Amal On(5) : Sam Play 4,2,6000
  180. End Proc
  181. Procedure PIG6
  182.    If Amreg(6,9)=1 Then Pop Proc
  183.    If Amreg(6,9)=0 Then Pop Proc
  184.    If Amreg(6,9)=3 Then Pop Proc
  185.    If Spritebob Col(2,6 To 6) Then Amal 1,"M 0,0,0;L RC=RC+1" : Amal On(1)
  186.    If Amreg(2)>3 Then Bob 6,,,59
  187.    If Amreg(2)>7 Then Bob 6,,,60
  188.    If Amreg(2)>11 Then Bob 6,,,61
  189.    If Amreg(2)>15 Then Bob 6,,,62
  190.    If Amreg(2)>19 Then Amal Off(6) : Amal 6,"L RN=RN+1;A 1,(63,28)(64,7)(65,7)(9,1)" : Amal On(6) : Sam Play 4,2,5000
  191. End Proc
  192. Procedure PIG7
  193.    If Amreg(5)=1 Then Pop Proc
  194.    If Amreg(5)=0 Then Pop Proc
  195.    If Amreg(5)=3 Then Pop Proc
  196.    If Spritebob Col(2,7 To 7) Then Amal 1,"M 0,0,0;L RG=RG+1" : Amal On(1)
  197.    If Amreg(6)>3 Then Bob 7,,,59
  198.    If Amreg(6)>7 Then Bob 7,,,60
  199.    If Amreg(6)>11 Then Bob 7,,,61
  200.    If Amreg(6)>15 Then Bob 7,,,62
  201.    If Amreg(6)>19 Then Amal Off(7) : Amal 7,"L RN=RN+1;A 1,(63,28)(64,7)(65,7)(9,1)" : Amal On(7) : Sam Play 4,2,5000
  202. End Proc
  203. Procedure PIG8
  204.    If Amreg(7)=1 Then Pop Proc
  205.    If Amreg(7)=0 Then Pop Proc
  206.    If Amreg(7)=3 Then Pop Proc
  207.    If Spritebob Col(2,8 To 8) Then Amal 1,"M 0,0,0;L RI=RI+1" : Amal On(1)
  208.    If Amreg(8)>3 Then Bob 8,,,59
  209.    If Amreg(8)>7 Then Bob 8,,,60
  210.    If Amreg(8)>11 Then Bob 8,,,61
  211.    If Amreg(8)>15 Then Bob 8,,,62
  212.    If Amreg(8)>19 Then Amal Off(8) : Amal 8,"L RN=RN+1;A 1,(63,28)(64,7)(65,7)(9,1)" : Amal On(8) : Sam Play 4,2,5000
  213. End Proc
  214. Procedure PIG9
  215.    ' Stun Superpig if hit.... 
  216.    If Amreg(9,2)=1 Then Pop Proc
  217.    Amal 9,"L R2=1;M 0,-30,50;M 0,0,140;M 0,185,140;L R2=0" : Amal On(9)
  218. Sam Play 4,2,4000
  219. End Proc
  220. Procedure MPIG7
  221.    ' *INFO: JetPig that FOLLOWS player  * 
  222.    If Amreg(5)>0 Then Pop Proc : Rem Pop If PIG7 BASHED 
  223.    P7=Zone(X Bob(7),Y Bob(7))
  224.    PL=Hzone(X Sprite(0),Y Sprite(0))
  225.    If Amreg(25)>0 Then Goto SKIP71
  226.    If P7>0 Then Amal 7,"L RZ=1;M 0,-20,10;M 0,-5,40;L RZ=2" : Amal On(7)
  227.    SKIP71: Rem skip platform detect & cont search 
  228.    If P7=0 Then Goto SKIP72
  229.    If P7=PL Then MP7
  230.    SKIP72: Rem skip if bob7 zone =0 
  231.    If Amreg(7,9)=2 Then MVPIG7
  232.    If Amreg(25)=2 Then MVPIG7
  233. End Proc
  234. Procedure MVPIG7
  235.    PY7=Y Hard(0,Y Bob(7))
  236.    If PY7>Y Sprite(0) Then Amal 7,"L RZ=0;L R9=0;A 3,(7,3)(8,3);M 0,-50,35;L R9=2" : Amal On(7)
  237.    If PY7<Y Sprite(0) Then Amal 7,"L RZ=1;L R9=0;M 0,50,40;L R9=2" : Amal On(7)
  238. End Proc
  239. Procedure MP7
  240.    If Amreg(7,1)=1 Then Pop Proc
  241.    PX=X Hard(0,X Bob(7))
  242.    If PX>X Sprite(0) Then Amal 7,"L R1=1;M 0,-10,18;A 10,(19,3)(20,3);M -30,0,37;L R1=0;L R9=2" : Amal On(7)
  243.    If PX<X Sprite(0) Then Amal 7,"L R1=1;M 0,-10,18;A 10,(7,3)(8,3);M 30,0,37;L R1=0;L R9=2" : Amal On(7)
  244. End Proc
  245. Procedure MPIG8
  246.    If Amreg(7)>0 Then Pop Proc
  247.    ' *INFO: JetPig with Flamethrower
  248.    ' Work out which direction for flame...
  249.    If Amreg(4)=1 Then Bob 15,X Bob(8)+45,Y Bob(8)-10,72 : Amal 15,"L RE=0;A 1,(9,2)(72,95)(9,2);M -80,20,55;M -80,-20,55;M -80,20,55;M -80,-20,55" : Amal On(15)
  250.    If Amreg(4)=2 Then Bob 15,X Bob(8)+0,Y Bob(8)-10,78 : Amal 15,"L RE=0;A 1,(9,2)(76,95)(9,2);M 80,20,55;M 80,-20,55;M 80,20,55;M 80,-20,55" : Amal On(15)
  251.    '....................................... 
  252.    P8=Zone(X Bob(8),Y Bob(8))
  253.    PL=Hzone(X Sprite(0),Y Sprite(0))
  254.    If Amreg(24)>0 Then Goto SKIP81
  255.    If P8>0 Then Amal 8,"L RY=1;M 0,-20,10;M 0,-5,40;L RY=2" : Amal On(8)
  256.    SKIP81: Rem skip platform detect & cont search 
  257.    If P8=0 Then Goto SKIP82
  258.    If P8=PL Then MP8
  259.    SKIP82: Rem skip if bob8 zone =0 
  260.    If Amreg(8,9)=2 Then MVPIG8
  261.    If Amreg(24)=2 Then MVPIG8
  262. End Proc
  263. Procedure MVPIG8
  264.    PY8=Y Hard(,Y Bob(8))
  265.    If PY8>Y Sprite(0) Then Amal 8,"L RY=0;L R9=0;A 3,(7,3)(8,3);M 0,-50,35;L R9=2" : Amal On(8)
  266.    If PY8<Y Sprite(0) Then Amal 8,"L RY=1;L R9=0;M 0,50,40;L R9=2" : Amal On(8)
  267. End Proc
  268. Procedure MP8
  269.    If Amreg(8,1)=1 Then Pop Proc
  270.    PX=X Hard(,X Bob(8))
  271.    If PX>X Sprite(0) Then Amal 8,"L R1=1;M 0,-15,10;A 1,(69,9)(70,9)(71,6);L RE=1;M 0,0,90;L R1=0;L R9=2" : Amal On(8)
  272.    If PX<X Sprite(0) Then Amal 8,"L R1=1;M 0,-15,10;A 1,(73,9)(74,9)(75,6);L RE=2;M 0,0,90;L R1=0;L R9=2" : Amal On(8)
  273. End Proc
  274. Procedure MPIG9
  275.    ' *INFO: SuperPig(complete with cape !):Follows player & flies at him
  276.    P9=Zone(X Bob(9),Y Bob(9))
  277.    PL=Hzone(X Sprite(0),Y Sprite(0))
  278.    If Amreg(23)>0 Then Goto SKIP91
  279.    If P9>0 Then Amal 9,"L RX=1;M 0,-20,10;M 0,-5,40;L RX=2" : Amal On(9)
  280.    SKIP91: Rem skip platform detect & cont search 
  281.    If P9=0 Then Goto SKIP92
  282.    If P9=PL Then MP9
  283.    SKIP92: Rem skip if bob9 zone =0 
  284.    If Amreg(9,9)=2 Then MVPIG9
  285.    If Amreg(23)=2 Then MVPIG9
  286. End Proc
  287. Procedure MVPIG9
  288.    PY9=Y Hard(,Y Bob(9))
  289.    If PY9>Y Sprite(0) Then Amal 9,"L RX=0;L R9=0;L A=86;M 0,-50,35;L R9=2" : Amal On(9)
  290.    If PY9<Y Sprite(0) Then Amal 9,"L RX=1;L R9=0;L A=85;M 0,50,40;L R9=2" : Amal On(9)
  291. End Proc
  292. Procedure MP9
  293.    If Amreg(9,1)=1 Then Pop Proc
  294.    PX=X Hard(,X Bob(9))
  295.    If PX>X Sprite(0) Then Amal 9,"L R1=1;M 0,-20,18;A 10,(83,5)(84,5);M -250,0,97;A 11,(87,3)(88,3);M 230,0,87;L A=81;M 0,0,50;L R1=0;L R9=2" : Amal On(9)
  296.    If PX<X Sprite(0) Then Amal 9,"L R1=1;M 0,-20,18;A 10,(87,5)(88,5);M 250,0,97;A 11,(83,3)(84,3);M -230,0,87;L A=85;M 0,0,50;L R1=0;L R9=2" : Amal On(9)
  297. End Proc
  298. Procedure PLAT
  299.    H=Hzone(X Sprite(0),Y Sprite(0))
  300.    If P=99 Then Goto MISSPLAT
  301.    If H=1 Then P=99 : Amal Off(1) : Sprite 0,X Sprite(0),Y Hard(0,Y Bob(16))+14,
  302.    If H=2 Then P=99 : Amal Off(1) : Sprite 0,X Sprite(0),Y Hard(0,Y Bob(17))+14,
  303.    If H=3 Then P=99 : Amal Off(1) : Sprite 0,X Sprite(0),Y Hard(0,Y Bob(18))+14,
  304.    If H=4 Then P=99 : Amal Off(1) : Sprite 0,X Sprite(0),Y Hard(0,Y Bob(19))+14,
  305.    If H=5 Then P=99 : Amal Off(1) : Sprite 0,X Sprite(0),Y Hard(0,Y Bob(20))+14,
  306.    If H=6 Then P=99 : Amal Off(1) : Sprite 0,X Sprite(0),Y Hard(0,Y Bob(21))+14,
  307.    If H=7 Then P=99 : Amal Off(1) : Sprite 0,X Sprite(0),277, : Rem Zone 7 is Floor  
  308.    MISSPLAT: Rem miss the plats 
  309.    If H=0 Then P=0 : DROP
  310. End Proc
  311. Procedure SETUP
  312.    Rem Setup Bike stealer,Crate etc 
  313. Box 190,0 To 290,16
  314.    Bob 22,300,250,96
  315.    Bob 3,-10,240,90 : Rem Position Bike stealer
  316. Bob 49,200,5,27 : Rem energy gone marker 
  317.    Amal 3,"L RB=0;L RC=0;L RG=0;L RI=0;L RH=0;L RO=0;L RN=0;Loop: M 0,0,100;A 10,(90,9)(91,9)(92,9)(91,9);M 300,0,220;M 0,0,4;A 10,(93,9)(94,9)(95,9)(94,9);M -300,0,180;J Loop" : Amal On(3)
  318. End Proc
  319. Procedure LEV40SETUP
  320.    Amal Off 
  321.    Screen Open 0,320,250,32,Lowres
  322.    Load Iff "iff/shop1",1
  323.    Fade 1
  324.    Load Iff "iff/shop1",0
  325.    Screen Display 1,150,-250,,
  326.    Screen Display 0,150,-250,,
  327.    Auto View On 
  328.    Get Sprite Palette : Flash Off 
  329.    Make Mask 
  330.    Auto View On 
  331.    For DIS=-235 To 50
  332.       Screen Display 0,135,DIS,320,250
  333.       For N=0 To 140 : Next 
  334.    Next DIS
  335.    Set Pattern(16)
  336.    Set Paint(1)
  337.    Rem ................................Set up platforms.............. 
  338.    Autoback 2
  339.    Wait 40
  340.    Ink 11
  341.    Reserve Zone 7
  342.    Set Zone 1,60,200 To 318,208 : Bar 60,200 To 315,204 : Rem BOB 16 
  343.    Set Zone 2,250,160 To 300,168 : Bar 250,160 To 300,164
  344.    Set Zone 3,0,120 To 315,128 : Bar 0,120 To 315,124
  345.    Set Zone 4,30,80 To 70,88 : Bar 30,80 To 70,84
  346.    Set Zone 5,35,40 To 290,48 : Bar 35,40 To 290,44
  347.    Set Zone 6,5,177 To 20,185 : Bar 5,177 To 20,181
  348.    Set Zone 7,0,227 To 320,245
  349.    Wait Vbl : Double Buffer 
  350.    Rem Position Down-Lifts
  351.    Bob 16,-100,187,97
  352.    Bob 17,-302,147,97
  353.    Bob 18,-150,107,97
  354.    Bob 19,-30,67,97
  355.    Bob 20,-180,27,97
  356.    Bob 21,-19,163,97
  357.    '
  358.    'Screen Copy Logic,150,200,180,250 To Physic,150,200 
  359.    Rem ------------------prepare enemies Level 40---------------------------------------------------------- 
  360.    Bob 5,65,40,41 : Rem PIG 1....(X) Pork Trooper 1
  361.    Bob 6,55,42,41 : Rem PIG 2 ...(Y) Pork Trooper 2
  362.    Bob 7,-20,240,7 : Rem  PIG 3...(C) Jet pig 1 (chaser)
  363.    Bob 8,160,10,19 : Rem PIG 4...  Jet Pig 2 (FlameThrower) 
  364.    Bob 9,300,0,85 : Rem Pig 5......Superpig
  365.    Bob 50,240,-2,9
  366.    Wait 70 : Rem PAUSE While Screen MOVES IN DISPLAY
  367.    ' Now Animate Enemies....
  368.    Amal 5,"Loop: A 40,(40,7)(41,7)(42,7) ; M 180,0,160;M 0,0,10;A 40,(43,7)(44,7)(45,7);M -180,0,160;M 0,0,15;P;J Loop" : Amal On(5)
  369.    Amal 6,"Loop: A 32,(40,7)(41,7)(42,7) ; M 240,0,185;M 0,80,95;A 35,(43,7)(44,7)(45,7);M -240,0,155;M 0,-40,45;M 0,0,15;M 0,-40,45;P;J Loop" : Amal On(6)
  370.    Amal 7,"L R9=0;L RF=0;M 0,0,100;A 40,(7,4)(8,4);M 0,0,120;M 0,0,30;L R9=0" : Amal On(7)
  371.    Amal 8,"L R9=0;M 0,0,100;A 40,(7,4)(8,4);M 0,130,120;L R9=2" : Amal On(8)
  372.    Amal 9,"L R9=0;M 0,0,200;M 0,80,100;L R9=2" : Amal On(9)
  373.    Rem --------------------------ENEMIES PREPARED-----------------------------------  
  374. Sprite 0,150,280,1
  375.    SETUP
  376.    Timer=0
  377. End Proc
  378. Procedure LEV41SETUP
  379.    Amal Off 
  380.    Get Sprite Palette : Flash Off 
  381.    Set Pattern(9)
  382.    Set Paint(4)
  383.    Rem ................................Set up platforms.............. 
  384.    Auto View Off 
  385.    Screen Copy 1 To 0 : Screen Swap : Screen Copy 1 To 0
  386.    Screen 0
  387.    Wait 40
  388.    Ink 26,28,31
  389.    Reset Zone 
  390.    Reserve Zone 7
  391.    Set Zone 1,110,160 To 150,168 : Bar 110,160 To 150,164 : Bob 16,-160,147,97
  392.    Set Zone 2,70,200 To 120,208 : Bar 70,200 To 120,204 : Bob 17,-73,187,97
  393.    Set Zone 3,60,125 To 90,132 : Bar 60,125 To 90,129 : Bob 18,-63,112,97
  394.    Set Zone 4,0,86 To 63,94 : Bar 0,86 To 60,90 : Bob 19,-10,73,97
  395.    Wait Vbl : Set Zone 5,220,50 To 240,58 : Bar 220,50 To 240,54 : Bob 20,-220,37,97
  396.    Set Zone 6,230,177 To 260,185 : Bar 230,177 To 260,181 : Bob 21,-233,164,97
  397.    Set Zone 7,0,227 To 320,245 : Rem FLOOR  
  398.    '
  399.    Wait Vbl : Screen Copy Logic,150,200,180,250 To Physic,150,200
  400.    Rem ------------------prepare enemies Level 40---------------------------------------------------------- 
  401.    Bob 3,10,260,90 : Rem Position Bike stealer
  402.    Bob 5,38,85,40 : Rem PIG 1....(X) Pork Trooper 1
  403.    Bob 6,72,200,40 : Rem PIG 2 ...(Y) Pork Trooper 2
  404.    Bob 7,10,20,19 : Rem PIG 4...  Jet Pig 2 (Follower) 
  405.    Bob 8,-20,10,39 : Rem JET PIG WITH FLMTHROWR              XXX  
  406.    Bob 9,-20,10,85 : Rem Pig 5......Superpig                 XXX
  407.    Bob 50,291,130,9 : Rem MOVE- On ICON
  408.    Sprite 4,220,110,89 : Rem Moving platform
  409.    Auto View On 
  410.    For DIS=-235 To 50
  411.       Screen Display 0,135,DIS,320,250
  412.       'Wait 1
  413.       For N=1 To 100 : Next 
  414.    Next DIS
  415.    Wait 70 : Rem PAUSE While Screen MOVES IN DISPLAY
  416.    Amal 5,"Loop: A 30,(40,5)(41,5)(42,5) ; M 23,0,90;M 0,45,90;M 35,0,90;M 0,70,75;A 20,(43,5)(44,5)(45,5);P;M -30,0,60;M 0,40,70;M -80,0,55;A 10,(40,5)(41,5)(42,5);M 0,-155,10;M 52,0,80;P;J Loop " : Amal On(5)
  417.    Amal 6,"Loop: A 30,(40,7)(41,7)(42,7) ; M 45,0,85;M 0,0,25;M 0,-40,45;M 0,0,25;M 35,0,65;A 30,(43,5)(44,5)(45,5);P;M -35,0,65;M 0,40,45;M -45,0,85;P;J Loop" : Amal On(6)
  418.    Amal 7,"L R9=0;L RF=0;L RZ=0;M 0,0,100;A 40,(7,4)(8,4);M 0,90,120;M 0,0,30;L R9=2" : Amal On(7)
  419.    Amal 8,"M 0,0,200" : Amal On(8) : Rem      DO NOTHING  
  420.    Amal 9,"L R9=0;M 0,0,100;L R9=2" : Amal On(9) : Rem Do Nothing 
  421.    Amal 4,"Loop: M 100,0,190;M -100,0,190;P;J Loop" : Amal On(4)
  422.    Rem --------------------------ENEMIES PREPARED-----------------------------------  
  423.    SETUP
  424. Sprite 0,150,280,1
  425.    Timer=0
  426. End Proc
  427. Procedure LEV42SETUP
  428.    Amal Off 
  429.    Get Sprite Palette : Flash Off 
  430.    Set Pattern(18)
  431.    Set Paint(5)
  432.    Rem ................................Set up platforms.............. 
  433.    Auto View Off 
  434.    Screen Copy 1 To 0 : Screen Swap : Screen Copy 1 To 0
  435.    Screen 0
  436.    Ink 3,25,31
  437.    Reset Zone 
  438.    Reserve Zone 7
  439.    Set Zone 1,235,70 To 320,78 : Bar 235,70 To 320,75 : Bob 16,-235,57,97
  440.    Set Zone 2,140,100 To 210,108 : Bar 140,100 To 210,105 : Bob 17,-140,87,97
  441.    Set Zone 3,60,180 To 90,188 : Bar 60,180 To 90,185 : Bob 18,-60,167,97
  442.    Set Zone 4,120,200 To 150,2008 : Bar 120,200 To 150,205 : Bob 19,-120,187,97
  443.    Wait Vbl : Set Zone 5,290,170 To 310,178 : Bar 290,170 To 310,185 : Bob 20,-290,157,97
  444.    Set Zone 6,70,60 To 90,68 : Bar 70,60 To 90,65 : Bob 21,-70,47,97
  445.    Set Zone 7,0,227 To 320,245
  446.    '
  447.    Wait Vbl : Screen Copy Logic,150,200,180,250 To Physic,150,200
  448.    Rem ------------------prepare enemies Level 42---------------------------------------------------------- 
  449.    Bob 5,238,70,40 : Rem PIG 1....(X) Pork Trooper 1
  450.    Bob 6,120,200,40 : Rem PIG 2 ...(Y) Pork Trooper 2
  451.    Bob 7,0,80,9 : Rem PIG 4...  Jet Pig 2 (Follower) 
  452.    Bob 8,-30,10,40 : Rem JET PIG WITH FLMTHROWR              XXX  
  453.    Bob 9,20,-10,85 : Rem Pig 5......Superpig                 XXX
  454.    Bob 50,55,4,9 : Rem MOVE- On ICON
  455.    Sprite 4,220,110,89 : Rem Moving platform
  456.    Auto View On 
  457.    For DIS=-235 To 50
  458.       Screen Display 0,135,DIS,320,250
  459.       'Wait 1
  460.       For N=1 To 100 : Next 
  461.    Next DIS
  462.    Wait 70 : Rem PAUSE While Screen MOVES IN DISPLAY
  463.    Amal 5,"Loop: A 20,(40,5)(41,5)(42,5) ; M 80,0,60;P;M 0,0,30;A 10,(43,4)(44,4)(45,4);M -80,0,60;M 0,0,30;P;J Loop" : Amal On(5)
  464.    Amal 6,"Loop: A 30,(40,7)(41,7)(42,7) ; M 30,0,85;M 0,25,50;P;M 50,0,85;M 0,0,25;A 30,(43,5)(44,5)(45,5);M -50,0,85;M 0,-25,50;M -30,0,85;P;J Loop" : Amal On(6)
  465.    Amal 7,"L R9=0;L RF=0;M 0,0,260;A 40,(7,4)(8,4);M 0,90,120;M 0,0,30;L R9=2" : Amal On(7)
  466.    Amal 8,"L R9=0;L RH=0;A 130,(19,4)(20,4);M 0,0,200;M 0,100,50;L R9=1" : Amal On(8)
  467.    Amal 9,"L R9=0;M 0,0,100;L R9=2" : Amal On(9) : Rem Do Nothing   
  468.    Amal 4,"Loop: M 0,70,100;M 0,-70,100;M 0,0,30;P;J Loop" : Amal On(4)
  469.    Rem --------------------------ENEMIES PREPARED-----------------------------------  
  470.   SETUP
  471. Sprite 0,150,280,1
  472.    Timer=0
  473. End Proc
  474. Procedure LEV43SETUP
  475.    Amal Off 
  476.    Get Sprite Palette : Flash Off 
  477.    Set Pattern(18)
  478.    Set Paint(5)
  479.    Rem ................................Set up platforms.............. 
  480.    Auto View Off 
  481.    Screen Copy 1 To 0 : Screen Swap : Screen Copy 1 To 0
  482.    Screen 0
  483.    Ink 3,25,31
  484.    Reset Zone 
  485.    Reserve Zone 7
  486.    Set Zone 1,35,50 To 320,58 : Bar 35,50 To 320,55 : Bob 16,-35,37,97
  487.    Set Zone 2,50,80 To 70,88 : Bar 50,80 To 70,85 : Bob 17,-50,67,97
  488.    Set Zone 3,60,180 To 90,188 : Bar 60,180 To 90,185 : Bob 18,-60,167,97
  489.    Set Zone 4,120,180 To 150,188 : Bar 120,180 To 150,185 : Bob 19,-120,167,97
  490.    Set Zone 5,190,180 To 230,188 : Bar 190,180 To 230,185 : Bob 20,-190,167,97
  491.    Set Zone 6,260,200 To 280,208 : Bar 260,200 To 280,205 : Bob 21,-260,187,97
  492.    Set Zone 7,0,227 To 320,245
  493.    '
  494.    Wait Vbl : Screen Copy Logic,150,200,180,250 To Physic,150,200
  495.    Rem ------------------prepare enemies Level 42---------------------------------------------------------- 
  496.    Bob 5,238,50,40 : Rem PIG 1....(X) Pork Trooper 1
  497.    Bob 6,120,185,60 : Rem PIG 2 ...(Y) Pork Trooper 2
  498.    Bob 7,10,20,19 : Rem PIG 4...  Jet Pig 2 (Follower) 
  499.    Bob 8,310,10,39 : Rem JET PIG WITH FLMTHROWR 
  500.    Bob 9,20,-10,85 : Rem Pig 5......Superpig                 XXX
  501.    Bob 50,2,164,9 : Rem MOVE- On ICON
  502.    Sprite 4,130,130,89 : Rem Moving platform
  503.    Auto View On 
  504.    For DIS=-235 To 50
  505.       Screen Display 0,135,DIS,320,250
  506.       'Wait 1
  507.       For N=1 To 100 : Next 
  508.    Next DIS
  509.    Wait 70 : Rem PAUSE While Screen MOVES IN DISPLAY
  510.    Amal 5,"Loop: A 20,(40,5)(41,5)(42,5) ; M 80,0,60;M 0,0,30;A 10,(43,4)(44,4)(45,4);M -80,0,60;M 0,0,30;P;J Loop" : Amal On(5)
  511.    Amal 6,"Loop: A 30,(40,7)(41,7)(42,7) ; M 30,0,85;M 0,25,50;M 50,0,85;M 0,0,25;A 30,(43,5)(44,5)(45,5);M -50,0,85;M 0,-25,50;M -30,0,85;P;J Loop" : Amal On(6)
  512.    Amal 7,"L R9=0;L RF=0;M 0,0,260;A 40,(7,4)(8,4);M 0,90,120;M 0,0,30;L R9=2" : Amal On(7)
  513.    Amal 8,"L R9=0;L RH=0;A 30,(19,4)(20,4);M 0,0,200;M 0,100,50;L R9=2" : Amal On(8)
  514.    Amal 9,"L R9=0;M 0,0,100;L R9=2" : Amal On(9) : Rem Do Nothing   
  515.    Amal 4,"Loop: M 0,60,100;M 0,0,60;M 0,-60,100;P;J Loop" : Amal On(4)
  516.    Rem --------------------------ENEMIES PREPARED-----------------------------------  
  517. SETUP
  518. Sprite 0,150,280,1
  519. Timer=0
  520. End Proc
  521. Procedure LEV44SETUP
  522.    Amal Off 
  523. Sprite 4,100,100,
  524. Get Sprite Palette : Flash Off 
  525.    Set Pattern(16)
  526.    Set Paint(3)
  527.    Rem ................................Set up platforms.............. 
  528.    Auto View Off 
  529.    Get Sprite Palette 
  530.    Screen Copy 1 To 0 : Screen Swap : Screen Copy 1 To 0
  531.    Screen 0
  532.    Ink 7,24,31
  533.    Reset Zone 
  534.    Reserve Zone 7
  535.  '  Set Zone 1,35,70 To 320,80 : Bar 35,60 To 320,70
  536.   ' Set Zone 2,50,100 To 70,110 : Bar 50,90 To 70,100
  537.   Set Zone 3,220,180 To 240,188 : Bar 220,180 To 240,185 : Bob 18,-220,167,97
  538.    Set Zone 4,160,190 To 175,198 : Bar 160,190 To 175,195 : Bob 19,-160,177,97
  539.    Set Zone 5,130,210 To 150,218 : Bar 130,210 To 150,215 : Bob 20,-130,197,97
  540.    Set Zone 6,180,210 To 200,215 : Bar 180,210 To 200,215 : Bob 21,-180,197,97
  541.    Set Zone 7,0,227 To 320,245
  542.    '
  543.    Rem ------------------prepare enemies Level 42---------------------------------------------------------- 
  544.    Bob 5,38,10,40 : Rem PIG 1....(X) Pork Trooper 1
  545.    Bob 6,-20,10,40 : Rem PIG 2 ...(Y) Pork Trooper 2
  546.    Bob 7,10,20,19 : Rem PIG 4...  Jet Pig 2 (Follower) 
  547.    Bob 8,10,10,39 : Rem JET PIG WITH FLMTHROWR              XXX  
  548.    Bob 9,20,10,85 : Rem Pig 5......Superpig                 XXX
  549.    Bob 50,285,140,25 : Rem rocket 
  550.    Sprite 4,130,180,89 : Rem Moving platform
  551.    Auto View On 
  552.    For DIS=-235 To 50
  553.       Screen Display 0,135,DIS,320,250
  554.       'Wait 1
  555.       For N=1 To 100 : Next 
  556.    Next DIS
  557.    Wait 70 : Rem PAUSE While Screen MOVES IN DISPLAY
  558.    Amal 5,"M 0,0,200" : Amal On(5)
  559.    Amal 6,"M 0,0,85" : Amal On(6)
  560.    Amal 7,"L R9=0;L RF=0;M 0,0,1200;L R9=2" : Amal On(7)
  561.    Amal 8,"M 0,0,200" : Amal On(8) : Rem      DO NOTHING    
  562.    Amal 9,"L R9=0;M 0,0,1000;L R9=2" : Amal On(9) : Rem Do Nothing   
  563.    Amal 4,"M 0,0,290" : Amal On(4)
  564.    Rem --------------------------ENEMIES PREPARED-----------------------------------  
  565. SETUP
  566. Sprite 0,150,280,1
  567. Timer=0
  568. End Proc
  569. Procedure LEV50SETUP
  570.    Amal Off 
  571. Sprite 0,100,100,
  572.    'Screen Close 0 : Screen Close 1 
  573.    Screen Open 0,320,250,32,Lowres
  574. Sprite 4,-100,100,
  575. Cls 0
  576. Load Iff "iff/strange",1
  577.    Fade 1
  578.    Load Iff "iff/strange",0
  579.    'Load "sprites/pigs.abk" 
  580.    Screen Display 1,150,-250,,
  581.    Screen Display 0,150,-250,,
  582.    Auto View On 
  583.    Get Sprite Palette : Flash Off 
  584.    Make Mask 
  585.    Auto View On 
  586.    For DIS=-235 To 50
  587.       Screen Display 0,135,DIS,320,250
  588.       For N=0 To 140 : Next 
  589.       'Wait 1
  590.    Next DIS
  591.    Set Pattern(2)
  592.    Set Paint(2)
  593.    Rem ................................Set up platforms.............. 
  594.    Autoback 2
  595.    Wait 40
  596.    Ink 25
  597.    Reserve Zone 7
  598.    Reset Zone 
  599. Sprite 0,-150,260,1
  600.    Set Zone 1,0,100 To 60,108 : Bar 0,100 To 60,105 : Rem BOB 16 
  601.    Set Zone 2,90,180 To 110,188 : Bar 90,180 To 110,185
  602.    Set Zone 3,150,180 To 170,188 : Bar 150,180 To 170,185
  603.    Set Zone 4,210,180 To 240,188 : Bar 210,180 To 240,185
  604.    Set Zone 5,0,200 To 300,205 : Bar 0,200 To 300,205
  605.    Set Zone 6,280,180 To 320,185 : Bar 280,180 To 320,185
  606.    Set Zone 7,0,227 To 320,245
  607.    Wait Vbl : Double Buffer 
  608.    Rem Position Down-Lifts
  609.    Bob 16,-20,87,97
  610.    Bob 17,-80,167,97
  611.    Bob 18,-140,167,97
  612.    Bob 19,-270,167,97
  613.    Bob 20,-20,187,97
  614.    Bob 21,-250,167,97
  615.    '
  616.    'Screen Copy Logic,150,200,180,250 To Physic,150,200 
  617.    Rem ------------------prepare enemies Level 40---------------------------------------------------------- 
  618.    Bob 5,320,190,77 : Rem PIG 1....(X) Pork Trooper 1
  619.  '  Bob 6,55,42,39 : Rem PIG 2 ...(Y) Pork Trooper 2
  620.  '  Bob 7,2,240,7 : Rem  PIG 3...(C) Jet pig 1 (chaser) 
  621.    Bob 8,160,-10,19 : Rem PIG 4...  Jet Pig 2 (FlameThrower) 
  622.    Bob 9,300,-10,85 : Rem Pig 5......Superpig
  623.    Bob 50,-40,90,63
  624. Bob 15,46,205,33 : Rem heart
  625. '
  626. Bob 7,0,-60,25 : Rem rocket routine 
  627. Bob 6,320,240,21
  628. Bob 51,10,205,10 : Rem bike 
  629. Amal 7,"A 50,(25,4)(26,4);M 0,104,280" : Amal On(7)
  630. Wait 410 : Rem PAUSE While Screen MOVES IN DISPLAY
  631. Sam Play 1,2,2400
  632. Sprite 0,155,140,2
  633. Amal 0,"M 10,5,10;M 10,7,10;M 5,0,10" : Amal On(0)
  634. Wait 50
  635.    ' Now Animate Enemies....
  636.    Amal 5,"Loop: A 30,(77,5)(78,6); M -320,0,140;A 30,(79,7)(80,7);M 320,0,140;J Loop" : Amal On(5)
  637.    Amal 6,"M 0,0,100;Loop: M -390,0,170;M 0,0,60;L X=320;P;J Loop" : Amal On(6)
  638.    Rem --------------------------ENEMIES PREPARED-----------------------------------  
  639. SETUP
  640. Timer=0
  641. End Proc
  642. Procedure LEV40
  643.    'MPIG7 : Rem follower      
  644.    MPIG8 : Rem Flamethrower   
  645.    MPIG9 : Rem superpig     
  646. End Proc
  647. Procedure LEV41
  648.    MPIG7 : Rem follower 
  649.    MPIG8
  650. End Proc
  651. Procedure LEV42
  652.    MPIG7
  653.    MPIG9
  654. End Proc
  655. Procedure LEV43
  656.    MPIG7
  657.    MPIG8
  658.    '
  659. End Proc
  660. Procedure LEV44
  661. Bob 5,320,220,77
  662. Bob 7,-20,190,77
  663. Rem jetbikes 
  664. Amal 5,"Loop: A 30,(77,3)(78,3);M -310,0,90;A 30,(79,3)(80,3);M 310,0,90;J Loop" : Amal On(5)
  665. Amal 7,"Loop: A 30,(79,6)(80,6);M 320,0,80; A 30,(77,6)(78,6);M -320,0,80;J Loop" : Amal On(7)
  666. Bob Update Off 
  667. Autoback 0
  668. Do 
  669. Wait Vbl : Bob Update 
  670. If Spritebob Col(0,5 To 7) Then ROGERHIT
  671. If LEV=5 Then LEV50
  672.       ZAP
  673.       JCHECK
  674.       PLAT
  675. If Spritebob Col(0,50 To 50) Then FLIGHT : LEV=5 : LEVELSORT
  676.    Loop 
  677. End Proc
  678. Procedure FLIGHT
  679. Bob Update On 
  680. Amal Off 
  681. Sprite 0,100,100,1 : Wait 50
  682. Amal 13,"A 50,(25,4)(26,4);M 0,-400,300" : Amal On(13)
  683. Sam Play 1,2,1200
  684. Wait 260
  685. End Proc
  686. Procedure LEV50
  687. Bob Update Off 
  688. Autoback 0
  689. Tempo 19
  690. Do 
  691. Wait Vbl : Bob Update 
  692. ZAP
  693. If Spritebob Col(0,51 To 51) Then GOTBIKE
  694. JCHECK
  695. PLAT
  696. If Spritebob Col(0,5 To 6) Then ROGERHIT
  697. Loop 
  698. End Proc
  699. Procedure DEAD
  700. Amal Off 
  701. Sprite 0,,Y Sprite(0)+10,11
  702. Wait 100
  703. Cls 0
  704. Locate 10,10 : Paper 0 : Print "Out Of Energy...."
  705. Locate 10,12 : Print " GAME OVER"
  706. LEV=0 : Wait 200
  707. Sprite Off : Run "choose.amos"
  708. End Proc
  709. Procedure GOTBIKE
  710. Amal Off 
  711. Bob Update On 
  712. Amal 0,"L A=22;Loop: M 0,-10,10;M 0,-10,15;M 0,-5,20;M 0,0,5;M 0,5,20;M 0,10,15;M 0,10,10;M 0,0,5;J Loop"
  713. Amal On(0)
  714. Amal 15,"A 0,(30,8)(31,8)(32,8)(33,6);L RH=0;L RF=0;" : Amal On(15)
  715. Locate 12,10 : Print "WELL DONE  ! !"
  716. Wait 500 : Amal Off : LEV=0 : Music Off 
  717. Run "choose.amos"
  718. End Proc
  719. Procedure DROP
  720.    If Amreg(10)>0 Then Pop Proc
  721.    If H>0 Then Pop Proc
  722.    If Sprite Col(0,4 To 4) Then Pop Proc
  723.    If Chanmv(1) Then Pop Proc
  724.    D$="M 0,10,5"
  725.    Amal 1,D$ : Amal On(1)
  726. End Proc
  727. Procedure ZAP
  728.    If Chanmv(1) Then Pop Proc
  729.    If Joy(1)=1 Then WEAPONS : Rem fire has been pressed
  730. End Proc
  731. Procedure NOMOVE
  732.    Amal Off(1)
  733.    Amal Off(0)
  734. Amal 0,"L RL=0" : Amal On(0)
  735. End Proc
  736. Procedure MVUP
  737.    If Sprite Col(0,4 To 4) Then Goto PLATON : Rem On platform
  738.    If H=0 Then Pop Proc
  739.    PLATON: Rem
  740.    If Amreg(9)=1 Then Pop Proc
  741.    If JP=8 Then J$="M 18,-32,16;M 15,0,7;M 18,32,16"
  742.    If JP=0 Then J$="L A=22;Move 0,-30,20 ;M 0,-5,25; M 0,35,20"
  743.    If JP=4 Then J$="M -18,-32,16;M -15,0,7;M -18,32,16"
  744.    Amal 1,J$ : Amal On(1)
  745. End Proc
  746. Procedure MVDN
  747.    If Chanan(2) Then Pop Proc
  748.    If JS=8 Then PUMPRIGHT
  749.    If JS=4 Then PUMPLEFT
  750. End Proc
  751. Procedure PUMPRIGHT
  752.    If Amreg(11)>0 Then Pop Proc
  753.    If Chanmv(1) Then Pop Proc
  754.    Amal Off(0) : Amal Off(1)
  755.    Amal 0,"A 1,(49,5)(50,5)(51,5)" : Amal On(0)
  756.    Sprite 2,X Sprite(0)+6,Y Sprite(0)-2,52
  757.    Amal 2,"A 1,(52,5)(53,8)(9,10);M 0,0,20;Let RA=1" : Amal On(2)
  758.    Sam Play 8,3,22000
  759. End Proc
  760. Procedure PUMPLEFT
  761.    If Amreg(11)>0 Then Pop Proc
  762.    If Chanmv(1) Then Pop Proc
  763.    Amal Off(0) : Amal Off(1)
  764.    Amal 0,"A 1,(54,5)(55,5)(56,5)" : Amal On(0)
  765.    Sprite 2,X Sprite(0)-14,Y Sprite(0)+4,52
  766.    Amal 2,"A 1,(57,5)(58,8)(9,10);M 0,0,20;Let RA=1" : Amal On(2)
  767.    Sam Play 8,3,22000
  768. End Proc
  769. Procedure MVR
  770. If Amreg(11)=1 Then Goto SKIPAN1
  771. Amal 0,"L RL=1;A 0,(1,8)(2,8)(3,8)(2,8)" : Amal On(0)
  772.  '  If Amreg(11)>0 Then Pop Proc
  773. SKIPAN1: Rem
  774.    If Sprite Col(0,4 To 4) Then Goto MRIGHT
  775.    If H=0 Then Pop Proc
  776.    MRIGHT: Rem Sprite is on platform
  777.    If Joy(1)<>8 Then Amal Off(1)
  778.    PLAT
  779.    SH$="M 6,0,6" : Amal 1,SH$ : Amal On(1)
  780. '   If Chanan(0) Then Pop Proc 
  781.    J=1
  782. End Proc
  783. Procedure MVL
  784. If Amreg(11)=2 Then Goto SKIPAN2
  785. Amal 0,"L RL=2;A 0,(4,8)(5,8)(6,8)(5,8)" : Amal On(0)
  786.   ' If Amreg(11)>0 Then Pop Proc 
  787. SKIPAN2: Rem
  788.    If Sprite Col(0,4 To 4) Then Goto MLEFT
  789.    If H=0 Then Pop Proc
  790.    MLEFT: Rem Sprite is touching platform
  791.    If Joy(1)<>4 Then Amal Off(1)
  792.    PLAT
  793.    SH$="M -6,0,6" : Amal 1,SH$ : Amal On(1)
  794. '   If Chanan(0) Then Pop Proc 
  795. End Proc
  796. Procedure WEAPONS
  797. If Amreg(12)=1 Then Pop Proc
  798.    Amal Off(0)
  799.    If JS=4 Then PLEFT
  800.    If JS=8 Then PRIGHT
  801.    Rem hit right......... 
  802. End Proc
  803. Procedure PRIGHT
  804. If Amreg(12)>0 Then Pop Proc
  805.    Sprite 0,,,2
  806.    Sprite 2,X Sprite(0),Y Sprite(0)-9,9
  807.    Amal 2,"L RM=1;A 1,(13,3)(14,3)(15,8)(14,3)(13,3)(9,5);M 0,0,10;L RM=0;L RA=0" : Amal On(2)
  808. End Proc
  809. Procedure PLEFT
  810. If Amreg(12)>0 Then Pop Proc
  811.    Sprite 0,,,5
  812.    Sprite 2,X Sprite(0)-18,Y Sprite(0)-9,9
  813.    Amal 2,"L RM=1;A 1,(16,3)(17,3)(18,8)(17,3)(16,3)(9,5);M 0,0,10;L RM=0;L RA=0" : Amal On(2)
  814. End Proc