home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / games / super_scooter.amos / super_scooter.amosSourceCode
AMOS Source Code  |  1988-01-19  |  8KB  |  389 lines

  1. '''''''''''''''''''''''''''''''''''''''''  
  2. '             Super Scooter             '  
  3. '         Fund Raising Utility.         '      
  4. '            Fizzy Pop 1991.            '  
  5. '                 V2.0                  '
  6. '''''''''''''''''''''''''''''''''''''''''
  7. Global NO,XMAS,TRIAL
  8. SUPER_SCOOTER
  9. Procedure SUPER_SCOOTER
  10.    Cls 
  11.    Palette 0,0,$FFF
  12.    Curs Off 
  13.    Print : Centre "Super Scooter"
  14.    Print 
  15.    Print : Centre "Sprite Selection"
  16.    Print 
  17.    Print : Centre "1 - Scooter"
  18.    Print : Centre "2 - Bicycle"
  19.    Print : Centre "3 - Skate Board"
  20.    Print : Centre "4 - Christmas Special"
  21.    SUPER_S
  22.    Screen Close 0
  23.    Hide On 
  24.    BOW[250]
  25.    DLOGO
  26.    Close Editor 
  27.    SUPER_SCOOTE
  28. End Proc
  29. Procedure SUPER_SCOOTE
  30.    Shared EXT,WINNER,A
  31.    Hide On 
  32.    Load "SSM1.Abk"
  33.    Music 1
  34.    Do 
  35.       SUPER_SCO
  36.       If EXT=1 Then SUPER_SCOOT : SUPER_SCOO
  37.       If EXT=0 Then SUPER_SC
  38.       SUPER_SCO
  39.       If EXT=1 Then SUPER_SCOOT : SUPER_SCOO
  40.       If EXT=0 Then SUPER_SCOOT
  41.       SUPER_SCO
  42.       If EXT=1 Then SUPER_SCOOT : SUPER_SCOO
  43.       If EXT=0 Then SUPER_
  44.    Loop 
  45. End Proc
  46. Procedure SUPER_SCOOT
  47.    Shared WINNER,EXT
  48.    Randomize Timer
  49.    Hide On 
  50.    Load "pac.1",6
  51.    Unpack 6 To 0
  52.    Screen Clone 1
  53.    Erase 6
  54.    Screen 0
  55.    Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  56.    Screen Hide 1
  57.    Screen 0
  58.    If EXT=0
  59.       Curs Off 
  60.       Paper 10
  61.       Print " "
  62.       Locate 1,1
  63.       Ink 15
  64.       Draw 0,0 To 10,0
  65.       Draw 0,0 To 0,10
  66.       Pen 15
  67.       Centre "T  R  I  A  L     R  U  N  !"
  68.       TRIAL=1
  69.    Else 
  70.       For F=63 To 0 Step -1
  71.          Wait 1
  72.          Mvolume F
  73.       Next F
  74.       Load "SSM2.Abk"
  75.       Mvolume 63
  76.       TRIAL=0
  77.    End If 
  78.    Auto View On 
  79.    Fade 5 To 1
  80.    Wait 150
  81.    Screen Close 1
  82.    Hide On 
  83.    Double Buffer 
  84.    I=1
  85.    For G=-30 To 0
  86.       B=22
  87.       For F=1 To 5
  88.          Bob F,G,B-(XMAS*5),I
  89.          Wait 1
  90.          B=B+50
  91.       Next F
  92.       Inc I
  93.       If I=NO Then I=1
  94.    Next G
  95.    Wait 100
  96.    If TRIAL=0 Then Music 1
  97.    Dim A(5) : Dim I(5) : For F=1 To 5 : I(F)=1 : Next F
  98.    Do 
  99.       For F=1 To 5
  100.          B=Rnd(10)
  101.          C=Rnd(2)
  102.          If B>C Then Inc A(F) : Bob F,A(F),22+(50*(F-1))-(XMAS*5),I(F) : If A(F)>280 Then Exit 2
  103.          If B>C Then Inc I(F) : If I(F)=NO Then I(F)=1
  104.       Next F
  105.    Loop 
  106.    Wait 50
  107.    For H=0 To 300
  108.       For G=1 To 5
  109.          If G<>F Then Bob G,A(G),H+22+(50*(G-1))-(XMAS*5),I(G)
  110.          Inc I(G)
  111.          If I(G)=NO Then I(G)=1
  112.       Next G
  113.    Next H
  114.    For G=330 To -30 Step -1
  115.       Bob F,G,22+(50*(F-1))-(XMAS*5),I+$8000
  116.       Wait 1
  117.       Inc I
  118.       If I=NO Then I=1
  119.    Next G
  120.    WINNER=F
  121.    Fade 5
  122.    If TRIAL=0 Then For F=63 To 0 Step -1 : Wait 1 : Mvolume F : Next F : Load "SSM3.Abk" : Mvolume 63
  123.    Wait 10
  124. End Proc
  125. Procedure SUPER_SCOO
  126.    Shared WINNER
  127.    Curs Off 
  128.    Auto View Off 
  129.    Load "pac.2",6
  130.    Unpack 6 To 0
  131.    Curs Off 
  132.    Paper 10
  133.    Print " "
  134.    Locate 1,1
  135.    Ink 15
  136.    Draw 0,0 To 10,0
  137.    Draw 0,0 To 0,10
  138.    Pen 15
  139.    Paper 10
  140.    Ink 10
  141.    Paint 10,10,1
  142.    Pen 15
  143.    Locate 2,10
  144.    Print "          WELL DONE NUMBER";WINNER
  145.    Locate 2,11
  146.    Print "        YOU HAVE WON THE RACE"
  147.    Locate 2,12
  148.    Print "      NOW COLLECT YOUR WINNINGS!"
  149.    Screen Clone 1
  150.    Erase 6
  151.    Ink 10
  152.    Paint 10,10,1
  153.    Screen 0
  154.    Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  155.    Screen Hide 1
  156.    Screen 0
  157.    Auto View On 
  158.    Fade 5 To 1
  159.    Wait 150
  160.    Screen Close 1
  161.    Music 1
  162.    A=1
  163.    For F=-30 To 330
  164.       Bob 1,F,198-(XMAS*5),A
  165.       Wait 1
  166.       Inc A
  167.       If A=NO Then A=1
  168.    Next F
  169.    Fade 5
  170.    Load "SSM1.Abk"
  171.    Music 1
  172. End Proc
  173. Procedure SUPER_SCO
  174.    Shared EXT
  175.    Auto View Off 
  176.    If XMAS=0
  177.       Load "pac.3",6
  178.    Else 
  179.       Load "pac.3x",6
  180.    End If 
  181.    Unpack 6 To 0
  182.    Screen Clone 1
  183.    Erase 6
  184.    Screen 0
  185.    Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  186.    Screen Hide 1
  187.    Screen 0
  188.    Auto View On 
  189.    Fade 5 To 1
  190.    Wait 150
  191.    Screen Close 1
  192.    Double Buffer 
  193.    I=1
  194.    A=0
  195.    Do 
  196.       For F=-30 To 330
  197.          Bob 1,F,198,I
  198.          Bob 2,330-F,198,I+$8000
  199.          If Mouse Key=%1 Then EXT=1 : Exit 2
  200.          If Mouse Key=%10 Then SUPER_S
  201.          Wait 1
  202.          Inc I
  203.          If I=NO Then I=1
  204.       Next F
  205.       Inc A
  206.       If A=2 Then EXT=0 : Exit 
  207.    Loop 
  208.    Fade 5
  209.    Wait 10
  210. End Proc
  211. Procedure SUPER_SC
  212.    Auto View Off 
  213.    If XMAS=0
  214.       Load "pac.4",6
  215.    Else 
  216.       Load "pac.4x",6
  217.    End If 
  218.    Unpack 6 To 0
  219.    Screen Clone 1
  220.    Erase 6
  221.    Screen 0
  222.    Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  223.    Screen Hide 1
  224.    Screen 0
  225.    Auto View On 
  226.    Fade 5 To 1
  227.    Wait 150
  228.    Screen Close 1
  229.    Double Buffer 
  230.    For F=-30 To 330
  231.       Bob 1,F,209,I
  232.       Bob 2,330-F,209,I+$8000
  233.       Wait 1
  234.       Inc I
  235.       If I=NO Then I=1
  236.    Next F
  237.    Fade 5
  238.    Wait 10
  239. End Proc
  240. Procedure SUPER_S
  241.    Clear Key 
  242.    XMAS=0
  243.    Clear Key 
  244.    Do 
  245.       M$=Upper$(Inkey$)
  246.       If M$="1" Then Load "scooter.abk" : NO=6 : Pop Proc
  247.       If M$="3" Then Load "skt.abk" : NO=16 : Pop Proc
  248.       If M$="2" Then Load "bike.abk" : NO=9 : Pop Proc
  249.       If M$="4" Then Load "santa.abk" : NO=6 : XMAS=1 : Pop Proc
  250.    Loop 
  251. End Proc
  252. Procedure SUPER_
  253.    Auto View Off 
  254.    Load "pac.5",6
  255.    Unpack 6 To 0
  256.    Screen Clone 1
  257.    Erase 6
  258.    Screen 0
  259.    Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  260.    Paper 0
  261.    Curs Off 
  262.    Home : Print " "
  263.    Locate 0,27
  264.    Centre ".Written By Marc Of Fizzy Pop."
  265.    Print 
  266.    Centre ".Using Amos."
  267.    Screen Hide 1
  268.    Screen 0
  269.    Auto View On 
  270.    Fade 5 To 1
  271.    Wait 150
  272.    Screen Close 1
  273.    Wait 200
  274.    Fade 5
  275.    Wait 10
  276. End Proc
  277. '''''''''''''''''''''''''''''''''''''''''  
  278. '                                       '
  279. '''''''''''''''''''''''''''''''''''''''''
  280. Procedure ALERT[A$,B$,C$,B]
  281.    Shared A
  282.    Screen Open 7,640,255,2,Hires
  283.    Palette $0,$FFF
  284.    Show On 
  285.    Reserve Zone 3
  286.    Curs Off 
  287.    A$=Upper$(A$)
  288.    Cls 
  289.    H$=Border$(A$,1)
  290.    Locate 0,10
  291.    Centre H$
  292.    If B=1 Then Wait 100 : B=0 : Hide On : Pop Proc
  293.    Locate 0,14
  294.    D$=Zone$(B$,1)
  295.    E$=Zone$(C$,2)
  296.    F$=Border$(D$,2)
  297.    G$=Border$(E$,2)
  298.    Locate 15,13
  299.    Print F$
  300.    Locate 63,13
  301.    Print G$
  302.    B=0
  303.    DDO:
  304.    Do 
  305.       D=Mouse Click
  306.       E=Mouse Zone
  307.       Inverse Off 
  308.       If E=0 Then Locate 15,13 : Print F$ : Locate 63,13 : Print G$
  309.       If E=1 Then Inverse On : Locate 15,13 : Print F$
  310.       If E=2 Then Inverse On : Locate 63,13 : Print G$
  311.       Exit If D<>0 and E<>0
  312.    Loop 
  313.    Bell 
  314.    Inverse Off 
  315.    If Mouse Zone=1 Then A=1 : Hide On : Screen Close 7 : Pop Proc
  316.    If Mouse Zone=2 Then A=0 : Hide On : Screen Close 7 : Pop Proc
  317.    Goto DDO
  318. End Proc
  319. Procedure CENFADE
  320.    Ink 0
  321.    A=0
  322.    Do 
  323.       Box A,A To 320-A,255-A
  324.       Inc A
  325.       Exit If A=160
  326.    Loop 
  327. End Proc
  328. Procedure BOW[A]
  329.    Set Rainbow 1,0,60,"(2,1,15)(2,-1,15)","",""
  330.    Set Rainbow 2,0,60,"","(2,1,15)(2,-1,15)",""
  331.    Set Rainbow 3,0,60,"","","(2,1,15)(2,-1,15)"
  332.    Rainbow 1,0,50,60
  333.    Rainbow 2,0,50,60
  334.    Rainbow 3,0,50,60
  335.    Channel 1 To Rainbow 1
  336.    Channel 2 To Rainbow 2
  337.    Channel 3 To Rainbow 3
  338.    Amal 1,"Loop: M 0,250,Z(63)+20; M 0,-250,Z(63)+20; J Loop"
  339.    Amal 2,"Loop: M 0,250,Z(31)+20; M 0,-250,Z(31)+20; J Loop"
  340.    Amal 3,"Loop: M 0,250,Z(15)+20; M 0,-250,Z(15)+20; J Loop"
  341.    Amal On 
  342.    Wait A
  343.    Amal 1,"Loop: M 0,250,25; "
  344.    Amal 2,"Loop: M 0,250,25"
  345.    Amal 3,"Loop: M 0,250,25; "
  346.    Amal On 
  347.    Wait 50
  348.    Amal Off 
  349. End Proc
  350. Procedure DLOGO
  351.    Auto View On 
  352.    Load Iff "Fizzy_Pop_Logo.IFF",0
  353.    Locate 12,26
  354.    Paper 0
  355.    Pen 9
  356.    Print "Super Scooter."
  357.    Screen Clone 1
  358.    Screen Hide 1
  359.    Screen 0
  360.    Flash Off 
  361.    Hide On 
  362.    Curs Off 
  363.    Palette $0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  364.    Auto View On 
  365.    Fade 10 To 1
  366.    Screen Close 1
  367.    Timer=0
  368.    FAD=0
  369.    Wait 100
  370.    Data 1,1,1,1,1,0,0,0,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,0,0,0,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,0,0,0,-1,-1,-1,-1,-1,0,0
  371.    Dim A(45)
  372.    Dim B(45)
  373.    For F=1 To 45
  374.       Read A
  375.       A(F)=A
  376.       B(F)=F
  377.    Next F
  378.    F=1
  379.    Do 
  380.       For F=1 To 45
  381.          Def Scroll 1,60,169+F To 268,170+F,A(B(F)),0
  382.          Scroll 1
  383.          Add B(F),1,1 To 45
  384.       Next F
  385.       If Timer>1000 Then If FAD=0 Then FAD=1 : Fade 10 : Timer=0
  386.       If Mouse Key Then If FAD=0 Then FAD=1 : Fade 10 : Timer=0
  387.       If FAD=1 Then If Timer>150 Then Exit 
  388.    Loop 
  389. End Proc