home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 376-400 / apd385 / rattlesnake.amos / rattlesnake.amosSourceCode
AMOS Source Code  |  1991-06-13  |  18KB  |  828 lines

  1. '
  2. '
  3. ' R a t t l e   S n a k e  
  4. ' -----------------------
  5. '
  6. '  Odyssey Software 1992     
  7. '
  8. ' Written by Ben Ashley
  9. ' Graphics by Ben Ashley 
  10. ' Sound by Ben Ashley
  11. '
  12. '
  13. A#=0.0
  14. On Error Goto HELP
  15. Screen Open 0,320,256,32,Lowres
  16. Colour 1,$FFF : Pen 1 : Paper 0
  17. Curs Off : Flash Off : Hide On : Cls 0
  18. Load "Sound/Startsamp.Abk"
  19. Load "Graphics/Bigsprites.Abk" : Double Buffer 
  20. Get Sprite Palette 
  21. Cls 0
  22. I=2
  23. Sam Loop On 
  24. Sam Play 1,1,15000
  25. For F=250 To 50 Step -1
  26.    Bob 1,0,F,1
  27.    Bob 2,0,F-22,I
  28.    If I=2
  29.       I=3
  30.    Else 
  31.       I=2
  32.    End If 
  33.    Wait 3
  34. Next F
  35. For F=1 To 30
  36.    Bob 2,0,Y Bob(2),I
  37.    If I=2
  38.       I=3
  39.    Else 
  40.       I=2
  41.    End If 
  42.    Wait 3
  43. Next F
  44. J=250
  45. For F=-100 To 40
  46.    Bob 3,20,F,4
  47.    Bob 4,20,J,5
  48.    Add J,-1
  49.    Bob 2,0,Y Bob(2),I
  50.    If I=2
  51.       I=3
  52.    Else 
  53.       I=2
  54.    End If 
  55.    Wait 3
  56. Next F
  57. For F=1 To 35
  58.    Bob 2,0,Y Bob(2),I
  59.    If I=2
  60.       I=3
  61.    Else 
  62.       I=2
  63.    End If 
  64.    Wait 3
  65. Next F
  66. Fade 3 : Wait 15*3
  67. Erase 1
  68. Erase 5
  69. Sam Loop Off 
  70. Screen Close 0
  71. '
  72. Dim F(2),S(2),D(2),X(2),Y(2),A(2),SH(2)
  73. Dim K(2)
  74. '
  75. Global K(),F(),S(),D(),X(),Y(),A(),SH()
  76. '
  77. NUMBER=1
  78. DEAD=False
  79. B1$="Off" : WIND=0
  80. B2$=" On" : BK=1
  81. B3$=" On" : SND=1
  82. '
  83. F(1)=3
  84. F(2)=15
  85. '
  86. X(1)=0 : X(2)=295
  87. Y(1)=15 : Y(2)=221
  88. I1=25
  89. COMP=0
  90. PL1$="Brad"
  91. PL2$="Beau"
  92. '
  93. If Not Exist("Hi-snake.Dat")
  94.    Open Out 1,"Hi-Snake.Dat"
  95.    Print #1,"Ben Ashley"
  96.    Print #1,"3"
  97.    Print #1,"4"
  98.    Close 1
  99. Else 
  100.    Open In 1,"Hi-Snake.Dat"
  101.    Input #1,N$
  102.    Input #1,NA$
  103.    Input #1,OF$
  104.    HI=Val(NA$)
  105.    OF=Val(OF$)
  106.    Close 1
  107. End If 
  108. Do 
  109.    Show On 
  110.    Screen Open 0,640,240,8,Hires
  111.    Cls 0
  112.    Curs Off : Flash Off : Cls 0
  113.    Do 
  114.       Colour 1,$FFF
  115.       Colour 2,$F00
  116.       Colour 3,$FF0
  117.       Colour 4,$F0
  118.       Colour 5,$666
  119.       Colour 6,$800
  120.       Colour 7,$F
  121.       Pen 1 : Paper 2
  122.       Centre At(,2)+"Rattle Snake"
  123.       Centre At(,3)+"************"
  124.       Pen 0 : Paper 3
  125.       Centre At(,5)+"Written by Ben Ashley, 1992"
  126.       Pen 1 : Paper 0
  127.       '
  128.       X1$="Enter player names"
  129.       X2$="View Best Player"
  130.       X3$="Options"
  131.       X4$="Start Game"
  132.       X5$="Quit"
  133.       Paper 7
  134.       Reserve Zone 8
  135.       Print At(20,9);Zone$(X1$,1)
  136.       Print At(20,11);Zone$(X2$,2)
  137.       Print At(20,13);Zone$(X3$,3)
  138.       Print At(20,15);Zone$(X4$,4)
  139.       Print At(20,17);Zone$(X5$,5)
  140.       Repeat 
  141.          M=Mouse Zone
  142.       Until Mouse Key<>0
  143.       If M<>0
  144.          Cls 0
  145.       End If 
  146.       If M=1
  147.          Pen 1 : Paper 2
  148.          Centre At(,1)+"Enter Player names"
  149.          Centre At(,2)+"******************"
  150.          Paper 0
  151.          Locate 10,3
  152.          Input "Player 1:";PL1$
  153.          Locate 10,5
  154.          Input "Player 2:";PL2$
  155.          Cls 0
  156.          Curs Off 
  157.       End If 
  158.       If M=2
  159.          Pen 1 : Paper 2
  160.          Centre At(,1)+"****************"
  161.          Centre At(,2)+"The BEST Player!"
  162.          Centre At(,3)+"****************"
  163.          Paper 0
  164.          Centre At(,5)+"I S"
  165.          Paper 7
  166.          Centre At(,8)+N$
  167.          Paper 0
  168.          Centre At(,10)+"with"
  169.          Pen 0 : Paper 3
  170.          Centre At(,12)+Str$(HI)-" "+" kills out of"+Str$(OF)+" Games."
  171.          Repeat 
  172.          Until Mouse Key<>0
  173.          Cls 0
  174.       End If 
  175.       If M=3
  176.          Do 
  177.             Pen 1 : Paper 2
  178.             Centre At(,1)+"Game Options"
  179.             Centre At(,2)+"************"
  180.             X1$="Wind Effects     "
  181.             X2$="Background GFX   "
  182.             X3$="Sound FX         "
  183.             X4$="Number of fights "
  184.             X5$="<" : X6$=">"
  185.             Paper 7
  186.             Locate 20,5
  187.             Print Zone$(X1$,1);
  188.             Paper 0 : Print B1$
  189.             Paper 7
  190.             Locate 20,7
  191.             Print Zone$(X2$,2);
  192.             Paper 0 : Print B2$
  193.             Paper 7
  194.             Locate 20,9
  195.             Print Zone$(X3$,3);
  196.             Paper 0 : Print B3$
  197.             Paper 7
  198.             Locate 20,11
  199.             Print X4$+Paper$(3)+Pen$(0)+Zone$(X5$,5)+Paper$(7)+" "+Paper$(3)+Zone$(X6$,6)+Paper$(0)+Pen$(1)+Str$(NUMBER)+"        "
  200.             Pen 1
  201.             Paper 7
  202.             Locate 20,13
  203.             Print Zone$("Quit             ",4)
  204.             Repeat 
  205.                M2=Mouse Zone
  206.                Wait 3
  207.             Until Mouse Key<>0
  208.             If M2=1
  209.                If B1$="Off"
  210.                   B1$=" On"
  211.                   WIND=1
  212.                Else 
  213.                   B1$="Off"
  214.                   WIND=0
  215.                End If 
  216.             End If 
  217.             If M2=2
  218.                If B2$="Off"
  219.                   B2$=" On"
  220.                   BK=1
  221.                Else 
  222.                   B2$="Off"
  223.                   BK=0
  224.                End If 
  225.             End If 
  226.             If M2=3
  227.                If B3$="Off"
  228.                   B3$=" On"
  229.                   SND=1
  230.                Else 
  231.                   B3$="Off"
  232.                   SND=0
  233.                End If 
  234.             End If 
  235.             If M2=5
  236.                Add NUMBER,-1
  237.                If NUMBER<1
  238.                   NUMBER=1
  239.                End If 
  240.             End If 
  241.             If M2=6
  242.                Add NUMBER,1
  243.             End If 
  244.             If M2=4
  245.                Goto EN
  246.             End If 
  247.          Loop 
  248.          EN:
  249.          Cls 0
  250.       End If 
  251.       If M=4
  252.          Exit 
  253.       End If 
  254.       If M=5
  255.          Edit 
  256.       End If 
  257.    Loop 
  258.    '
  259.    Hide On 
  260.    Screen Open 0,320,256,32,Lowres
  261.    Pen 1 : Paper 0 : Ink 1,0
  262.    Curs Off : Flash Off 
  263.    Cls 0
  264.    '
  265.    Load "Graphics/Sprites.Abk"
  266.    If SND=1
  267.       Load "Sound/Samples.Abk"
  268.    End If 
  269.    '
  270.    Get Sprite Palette 
  271.    '
  272.    Cls 0
  273.    Screen Hide 
  274.    If BK=1
  275.       Ink 13,0
  276.       Plot 5,5
  277.       Plot 4,6 : Plot 6,6
  278.       Plot 3,7 : Plot 5,7 : Plot 7,7
  279.       Plot 4,8 : Plot 6,8 : Plot 8,8
  280.       Get Bob 38,2,2 To 7,10
  281.       Cls 0
  282.       Plot 5,5
  283.       Get Bob 39,4,4 To 6,6
  284.       Cls 0
  285.       Circle 5,5,4
  286.       Get Bob 40,0,0 To 10,10
  287.       Cls 0
  288.       Draw 4,4 To 5,4
  289.       Get Bob 41,3,3 To 6,5
  290.       Cls 0
  291.       Ink 12,0
  292.       Bar 5,5 To 30,8
  293.       Ink 11,0
  294.       For F=5 To 30 Step 6
  295.          Draw F,5 To F,8
  296.       Next F
  297.       Get Bob 42,4,4 To 31,9
  298.    End If 
  299.    Screen Show 
  300.    Cls 0
  301.    For GAME=1 To NUMBER
  302.       Load "Graphics/Back.Abk"
  303.       Unpack 6 To 0
  304.       Double Buffer 
  305.       Erase 6
  306.       Screen Open 1,640,15,4,Hires
  307.       Curs Off : Flash Off : Cls 0
  308.       Colour 1,$FFF : Colour 2,$666 : Colour 3,$555
  309.       Pen 1 : Paper 0
  310.       Screen Display 1,130,40,640,15
  311.       Ink 2,
  312.       Box 0,0 To 639,14
  313.       Ink 3,
  314.       Box 1,1 To 638,13
  315.       Ink 1,0
  316.       Screen To Front 1
  317.       Screen 0
  318.       '
  319.       WINDPOWER=Rnd(5)
  320.       '
  321.       Bob 25,X(1),Y(1),F(1)
  322.       Bob 26,X(2),Y(2),F(2)
  323.       Bob 27,X(1),Y(1),I1
  324.       Bob 28,X(2),Y(2),I1
  325.       '
  326.       '
  327.       Repeat 
  328.       Until Inkey$=" " or Fire(1)
  329.       '
  330.       TIME=0 : BONUSTIME=Rnd(1000)
  331.       TIME2=0
  332.       SH1T=0 : SH2T=0
  333.       '
  334.       CX=-20 : TX=350
  335.       CX2=340
  336.       '  
  337.       Repeat 
  338.          Add TIME,1
  339.          Add TIME2,1
  340.          Bob 25,X(1),Y(1),F(1)
  341.          Bob 26,X(2),Y(2),F(2)
  342.          Bob 27,X(1),Y(1),I1
  343.          Bob 28,X(2),Y(2),I1
  344.          Bob 0,X(1)-6,Y(1)+150,38
  345.          Bob 1,X(2)-6,Y(2)+150,38
  346.          If WIND=1
  347.             If TIME2>300 and TIME<800
  348.                D=Rnd(3)
  349.                If D=0
  350.                   X(1)=X(1)-WINDPOWER
  351.                   X(2)=X(2)-WINDPOWER
  352.                   If B=1
  353.                      Bob 60,X Bob(60)-WINDPOWER,,
  354.                   End If 
  355.                End If 
  356.                If D=1
  357.                   X(1)=X(1)+WINDPOWER
  358.                   X(2)=X(2)+WINDPOWER
  359.                   If B=1
  360.                      Bob 60,X Bob(60)+WINDPOWER,,
  361.                   End If 
  362.                End If 
  363.                If D=2
  364.                   Y(1)=Y(1)-WINDPOWER
  365.                   Y(2)=Y(2)-WINDPOWER
  366.                End If 
  367.                If D=3
  368.                   Y(1)=Y(1)+WINDPOWER
  369.                   Y(2)=Y(2)+WINDPOWER
  370.                End If 
  371.             End If 
  372.             If TIME2>800
  373.                TIME2=0
  374.                WINDPOWER=Rnd(4)
  375.             End If 
  376.          End If 
  377.          If BK=1
  378.             Bob 2,CX,29,41
  379.             Bob 3,TX,232,42
  380.             Bob 4,CX2,31,41
  381.             Add CX,1
  382.             Add CX2,-1
  383.             Add TX,-1
  384.             If CX>350
  385.                CX=-20
  386.             End If 
  387.             If TX<-30
  388.                TX=350
  389.             End If 
  390.             If CX2<-15
  391.                CX2=340
  392.             End If 
  393.          End If 
  394.          If SH(1)=1
  395.             Bob 31,X(1),Y(1),27
  396.             Bob 5,X(1)-8,Y(1)+150,40
  397.             Add SH1T,1
  398.          End If 
  399.          If SH(2)=1
  400.             Bob 32,X(2),Y(2),27
  401.             Bob 6,X(2)-8,Y(2)+150,40
  402.             Add SH2T,1
  403.          End If 
  404.          If SH1T>500
  405.             SH1T=0
  406.             SH(1)=0
  407.             Bob Off 31
  408.             Bob Off 5
  409.          End If 
  410.          If SH2T>500
  411.             SH2T=0
  412.             SH(2)=0
  413.             Bob Off 32
  414.             Bob Off 6
  415.          End If 
  416.          If TIME=BONUSTIME
  417.             B=1
  418.             Bob 60,Rnd(270),-50,35
  419.          End If 
  420.          If B=1
  421.             Bob 60,X Bob(60),Y Bob(60)+1,35
  422.          End If 
  423.          If B=1
  424.             If Y Bob(60)>230
  425.                B=0
  426.                TIME=0
  427.                BONUSTIME=Rnd(2000)
  428.                Bob Off 60
  429.             End If 
  430.          End If 
  431.          '
  432.          If I1=25
  433.             I1=26
  434.          Else 
  435.             I1=25
  436.          End If 
  437.          Wait Vbl 
  438.          '
  439.          If Jup(1)
  440.             Add SP1,1
  441.             If SP1>3
  442.                SP1=3
  443.             End If 
  444.          End If 
  445.          If COMP=0
  446.             If Key State(76)
  447.                Add SP2,1
  448.                If SP2>3
  449.                   SP2=3
  450.                End If 
  451.             End If 
  452.          End If 
  453.          If Jdown(1)
  454.             Add SP1,-1
  455.             If SP1<-1
  456.                SP1=-1
  457.             End If 
  458.          End If 
  459.          If COMP=0
  460.             If Key State(77)
  461.                Add SP2,-1
  462.                If SP2<-1
  463.                   SP2=-1
  464.                End If 
  465.             End If 
  466.          End If 
  467.          If Jleft(1)
  468.             Add F(1),-1
  469.             If F(1)<1
  470.                F(1)=8
  471.             End If 
  472.          End If 
  473.          If COMP=0
  474.             If Key State(78)
  475.                Add F(2),1
  476.                If F(2)>16
  477.                   F(2)=9
  478.                End If 
  479.             End If 
  480.          End If 
  481.          If Jright(1)
  482.             Add F(1),1
  483.             If F(1)>8
  484.                F(1)=1
  485.             End If 
  486.          End If 
  487.          If COMP=0
  488.             If Key State(79)
  489.                Add F(2),-1
  490.                If F(2)<9
  491.                   F(2)=16
  492.                End If 
  493.             End If 
  494.          End If 
  495.          If F(1)=1
  496.             Add Y(1),-SP1
  497.          End If 
  498.          If F(1)=2
  499.             Add Y(1),-SP1 : Add X(1),SP1
  500.          End If 
  501.          If F(1)=3
  502.             Add X(1),SP1
  503.          End If 
  504.          If F(1)=4
  505.             Add X(1),SP1 : Add Y(1),SP1
  506.          End If 
  507.          If F(1)=5
  508.             Add Y(1),SP1
  509.          End If 
  510.          If F(1)=6
  511.             Add X(1),-SP1 : Add Y(1),SP1
  512.          End If 
  513.          If F(1)=7
  514.             Add X(1),-SP1
  515.          End If 
  516.          If F(1)=8
  517.             Add X(1),-SP1 : Add Y(1),-SP1
  518.          End If 
  519.          If F(2)=9
  520.             Add Y(2),-SP2
  521.          End If 
  522.          If F(2)=10
  523.             Add Y(2),-SP2 : Add X(2),SP2
  524.          End If 
  525.          If F(2)=11
  526.             Add X(2),SP2
  527.          End If 
  528.          If F(2)=12
  529.             Add X(2),SP2 : Add Y(2),SP2
  530.          End If 
  531.          If F(2)=13
  532.             Add Y(2),SP2
  533.          End If 
  534.          If F(2)=14
  535.             Add X(2),-SP2 : Add Y(2),SP2
  536.          End If 
  537.          If F(2)=15
  538.             Add X(2),-SP2
  539.          End If 
  540.          If F(2)=16
  541.             Add X(2),-SP2 : Add Y(2),-SP2
  542.          End If 
  543.          If X(1)>295
  544.             X(1)=295
  545.          End If 
  546.          If X(1)<0
  547.             X(1)=0
  548.          End If 
  549.          If Y(1)<15
  550.             Y(1)=15
  551.          End If 
  552.          If Y(1)>221
  553.             Y(1)=221
  554.          End If 
  555.          If X(2)>295
  556.             X(2)=295
  557.          End If 
  558.          If X(2)<0
  559.             X(2)=0
  560.          End If 
  561.          If Y(2)<15
  562.             Y(2)=15
  563.          End If 
  564.          If Y(2)>221
  565.             Y(2)=221
  566.          End If 
  567.          '
  568.          If Fire(1) and FI1=0
  569.             IM1=I Bob(25)+16
  570.             FI1=1
  571.             MX1=X(1)
  572.             MY1=Y(1)
  573.             Bob 29,MX1,MY1,IM1
  574.             Bob 7,MX1-6,MY1+150,39
  575.             If SND=1
  576.                Sam Play 1,3,8000
  577.             End If 
  578.          End If 
  579.          '
  580.          If FI1=1
  581.             If IM1=17
  582.                Add MY1,-8
  583.             End If 
  584.             If IM1=18
  585.                Add MX1,8 : Add MY1,-8
  586.             End If 
  587.             If IM1=19
  588.                Add MX1,8
  589.             End If 
  590.             If IM1=20
  591.                Add MX1,8 : Add MY1,8
  592.             End If 
  593.             If IM1=21
  594.                Add MY1,8
  595.             End If 
  596.             If IM1=22
  597.                Add MX1,-8 : Add MY1,8
  598.             End If 
  599.             If IM1=23
  600.                Add MX1,-8
  601.             End If 
  602.             If IM1=24
  603.                Add MX1,-8 : Add MY1,-8
  604.             End If 
  605.             Bob 29,MX1,MY1,IM1
  606.             Bob 7,MX1-6,MY1+150,39
  607.             If MX1<0 or MX1>320 or MY1<0 or MY1>225
  608.                FI1=0
  609.                Bob Off 29
  610.                Bob Off 7
  611.             End If 
  612.          End If 
  613.          '
  614.          If COMP=0
  615.             If Inkey$=" " and FI2=0
  616.                IM2=I Bob(26)+8
  617.                FI2=2
  618.                MX2=X(2)
  619.                MY2=Y(2)
  620.                Bob 30,MX2,MY2,IM2
  621.                Bob 8,MX2-6,MY2+150,39
  622.                If SND=1
  623.                   Sam Play 1,3,8000
  624.                End If 
  625.             End If 
  626.          End If 
  627.          '
  628.          If FI2=2
  629.             If IM2=17
  630.                Add MY2,-8
  631.             End If 
  632.             If IM2=18
  633.                Add MX2,8 : Add MY2,-8
  634.             End If 
  635.             If IM2=19
  636.                Add MX2,8
  637.             End If 
  638.             If IM2=20
  639.                Add MX2,8 : Add MY2,8
  640.             End If 
  641.             If IM2=21
  642.                Add MY2,8
  643.             End If 
  644.             If IM2=22
  645.                Add MX2,-8 : Add MY2,8
  646.             End If 
  647.             If IM2=23
  648.                Add MX2,-8
  649.             End If 
  650.             If IM2=24
  651.                Add MX2,-8 : Add MY2,-8
  652.             End If 
  653.             Bob 30,MX2,MY2,IM2
  654.             Bob 8,MX2-6,MY2+150,39
  655.             If MX2<0 or MX2>320 or MY2<0 or MY2>225
  656.                FI2=0
  657.                Bob Off 30
  658.                Bob Off 8
  659.             End If 
  660.          End If 
  661.          If Bob Col(25,26 To 26)
  662.             SP1=-1
  663.             SP2=-1
  664.             Add D(1),1
  665.             Add D(2),1
  666.          End If 
  667.          If Bob Col(29,32 To 32)
  668.             Bob Off 29
  669.             Bob Off 7
  670.             FI1=0
  671.          End If 
  672.          If Bob Col(30,31 To 31)
  673.             Bob Off 30
  674.             Bob Off 8
  675.             FI2=0
  676.          End If 
  677.          If Bob Col(29,26 To 26)
  678.             Add D(2),1
  679.             FI1=0
  680.             Bob Off 29
  681.             Bob Off 7
  682.             If SND=1
  683.                Sam Play 2,1,8000
  684.             End If 
  685.          End If 
  686.          If Bob Col(30,25 To 25)
  687.             Add D(1),1
  688.             FI2=0
  689.             Bob Off 30
  690.             Bob Off 8
  691.             If SND=1
  692.                Sam Play 2,1,8000
  693.             End If 
  694.          End If 
  695.          If Bob Col(29,60 To 60)
  696.             BONUS[1]
  697.             KB=1
  698.             Bob 61,X Bob(60),Y Bob(60),36
  699.             Bob 62,X Bob(60),Y Bob(60),37
  700.             Bob Off 60
  701.             B=0
  702.             FI1=0
  703.             Bob Off 29
  704.             Bob Off 60
  705.          End If 
  706.          If Bob Col(30,60 To 60)
  707.             BONUS[2]
  708.             KB=1
  709.             Bob 61,X Bob(60),Y Bob(60),36
  710.             Bob 62,X Bob(60),Y Bob(60),37
  711.             Bob Off 60
  712.             B=0
  713.             FI2=0
  714.             Bob Off 30
  715.             Bob Off 8
  716.          End If 
  717.          If KB=1
  718.             Bob 61,X Bob(61),Y Bob(61)-3,36
  719.             Bob 62,X Bob(62),Y Bob(62)+3,37
  720.             If Y Bob(62)>230 and Y Bob(61)<-10
  721.                KB=0 : Bob Off 61 : Bob Off 62
  722.                TIME=0
  723.             End If 
  724.          End If 
  725.          If SND=1
  726.             Add T,1
  727.             If T>7
  728.                Sam Play 4,2,8000
  729.                T=0
  730.             End If 
  731.          End If 
  732.          If D(1)>15
  733.             WIN=2
  734.             DEAD=True
  735.          End If 
  736.          If D(2)>15
  737.             WIN=1
  738.             DEAD=True
  739.          End If 
  740.          Screen 1
  741.          X$=Mid$(PL1$,1,8)+"  Score:"+Str$(S(1))-" "+"   "+"Damage:"+Str$(D(1))-" "+"  "
  742.          X$=X$+Mid$(PL2$,1,8)+"  Score : "+Str$(S(2))-" "+"  "+"Damage : "+Str$(D(2))-" "+"  "
  743.          Text 5,10,X$
  744.          Screen 0
  745.       Until DEAD=True
  746.       DEAD=False
  747.       If WIN=1
  748.          J=26
  749.       End If 
  750.       If WIN=2
  751.          J=25
  752.       End If 
  753.       Add K(WIN),1
  754.       Add S(WIN),1000
  755.       Channel 0 To Bob J
  756.       Amal 0,"A 0,(28,2)(29,2)(30,2)(31,2)(32,2)(33,2)(34,2)"
  757.       Amal On 0
  758.       Wait 100
  759.       Amal Off 0
  760.       Bob Off : Bob Clear 
  761.       Fade 3 : Wait 15*3
  762.       Screen 1
  763.       Fade 3 : Wait 15*3
  764.       Screen Close 0
  765.       Screen Close 1
  766.       For F=1 To 2
  767.          D(F)=0
  768.       Next F
  769.       F(1)=3
  770.       F(2)=15
  771.       '
  772.       X(1)=0 : X(2)=295
  773.       Y(1)=15 : Y(2)=221
  774.       I1=25
  775.       B=0
  776.       '
  777.       For F=1 To 2
  778.          If K(F)>HI
  779.             HI=K(F)
  780.             If F=1
  781.                N$=PL1$
  782.             Else 
  783.                N$=PL2$
  784.             End If 
  785.             OF=NUMBER
  786.          End If 
  787.       Next F
  788.    Next GAME
  789.    Open Out 1,"Hi-Snake.Dat"
  790.    Print #1,N$
  791.    Print #1,HI
  792.    Print #1,OF
  793.    Close 1
  794.    For F=1 To 2
  795.       S(F)=0
  796.       K(F)=0
  797.    Next F
  798.    KB=0
  799. Loop 
  800. '
  801. Procedure BONUS[PL]
  802.    A=Rnd(5)
  803.    If A=0
  804.       If D>1
  805.          Add D(PL),-1
  806.       End If 
  807.    End If 
  808.    If A=1
  809.       Add S(PL),1000
  810.    End If 
  811.    If A=2
  812.       SH(PL)=1
  813.    End If 
  814.    If A=3
  815.       Add D(PL),1
  816.    End If 
  817.    If A=4
  818.       Add S(PL),-500
  819.    End If 
  820.    If A=5
  821.       Add S(PL),3000
  822.    End If 
  823. End Proc
  824. '
  825. '
  826. '
  827. HELP:
  828. Resume Next