home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 4: Phase Four / 17Bit_Phase_Four.iso / files / 3082a.dms / 3082a.adf / animation.AMOS / animation.amosSourceCode next >
Encoding:
AMOS Source Code  |  1992-09-02  |  13.6 KB  |  523 lines

  1. Screen Open 0,320,256,16,Lowres : Cls 0 : Curs Off 
  2. NN=25 : Dim X(NN),Y(NN),XX(NN),YY(NN),BC(NN),TXT$(242)
  3. Global VOL,ES,NN,X(),Y(),XX(),YY(),BC(),W,TXT$()
  4. Cls 0
  5. '
  6. ' Oi ! I don't mind you reading this , but it would be a 
  7. ' lot easier to figure out what I'm talking about in 
  8. ' this program if you sent off for the Explained Source code ! 
  9. '
  10. ' The Address is in the instructions or if you're lazy it's  
  11. ' also in  - Procedure INFO - down about 11 lines from here .
  12. '
  13. '
  14. S=Sin(30)
  15. STARSET
  16. Sam Loop On 
  17. TAM
  18. Proc INFO
  19. Procedure _END
  20.    Fade 2 : Wait 30
  21.    Screen Open 0,320,256,16,Lowres : Cls 0 : Flash Off 
  22.    Goto 70
  23.    For N=5 To 0 Step -1
  24.       Volume N
  25.       W=5 : _WAIT
  26.    Next N
  27.    Sam Loop Off 
  28.    Show On 
  29.    Wait 90
  30.    Volume 63
  31.    RLOAD
  32.    '   Run "ant_war2:code/barebones.amos" 
  33. End Proc
  34. Procedure TAM
  35.    Screen Open 0,320,256,16,Lowres
  36.    'Goto 70 
  37.    Load "Ant_War1:graphics/titleanimbobs.abk"
  38.    '
  39.    Curs Off 
  40.    Cls 0 : Hide 
  41.    Get Sprite Palette 
  42.    '
  43.    Double Buffer 
  44.    '
  45.    Sam Play 1
  46.    Unpack 7 To 0 : Wait Vbl : W=100 : Proc _WAIT
  47.    _W=100 : _WAIT
  48.    Fade 2 : W=2*15 : _WAIT
  49.    '
  50.    Unpack 8 To 0
  51.    Bob 0,125,35,1 : Wait Vbl 
  52.    W=50 : _WAIT
  53.    Bob 0,104,42,2 : Wait Vbl 
  54.    W=180 : _WAIT
  55.    '
  56.    Fade 2 : W=5*15 : _WAIT
  57.    '
  58.    Sam Play 2
  59.    Unpack 9 To 0
  60.    Double Buffer 
  61.    Bob 0,100,50,4
  62.    '
  63.    A$="Anim 0,(3,10)(4,10)(5,10)(3,10)(4,10)(3,10)"
  64.    Channel 0 To Bob 0
  65.    Amal 0,A$
  66.    Amal On 0
  67.    '
  68.    Bob 1,120,170,7
  69.    '
  70.    Channel 2 To Bob 2
  71.    Bob 2,220,130,6
  72.    A$="Move -40,-10,90"
  73.    Amal 2,A$
  74.    Amal On 2
  75.    W=100 : _WAIT
  76.    '
  77.    A$="Move -20,-40,110"
  78.    Amal 2,A$
  79.    Amal On 2
  80.    W=100 : _WAIT
  81.    '
  82.    A$="Move -32,5,100"
  83.    Amal 2,A$
  84.    Amal On 2
  85.    W=100 : _WAIT
  86.    '
  87.    Bob Off 1 : Wait Vbl 
  88.    Paste Bob 135,170,8 : Wait Vbl 
  89.    '
  90.    Bob Off 2
  91.    Wait Vbl 
  92.    Paste Bob 130,91,6
  93.    Wait Vbl 
  94.    '
  95.    Ink 12 : Box 138,100 To 180,137
  96.    Ink 1 : Box 139,101 To 179,136
  97.    Ink 12 : Box 140,102 To 178,135
  98.    For N=3 To 1 Step -1
  99.       Ink 12 : Circle 160,120,13*N : Ink 1 : Circle 160,120,(13*N)-1
  100.       W=15*N : _WAIT
  101.    Next N
  102.    Fade 2 : Wait 30
  103.    70
  104.    Screen Open 1,320,100,16,Lowres : Cls 0 : Curs Off 
  105.    Unpack 6 To 1
  106.    Screen Display 1,130,180,320,100
  107.    Screen Close 0
  108.    Screen To Front 1 : Wait Vbl 
  109.    Wait 50
  110.    Load "Ant_War1:graphics/titlebobs.abk"
  111.    80
  112.    Screen Open 0,320,256,16,Lowres : Screen 0 : Curs Off : Cls 0 : Flash Off 
  113.    Screen To Front 1 : Wait Vbl 
  114.    Get Sprite Palette 
  115.    Limit Mouse 0,0 To 320,256
  116.    Double Buffer 
  117.    Wait Vbl 
  118.    If VOL=5 Then Goto 90
  119.    Bob 0,15,100,1
  120.    Bob 1,150,100,2
  121.    Bob 2,70,23,3
  122.    For N=63 To 5 Step -1
  123.       Volume N : VOL=N
  124.       Wait 3
  125.    Next N
  126.    Screen 1 : Fade 3 : Wait 45
  127.    Screen Close 1
  128.    90
  129.    Bob 0,15,100,1
  130.    Bob 1,150,100,2
  131.    Bob 2,70,23,3
  132.    Bob 3,110,140,4
  133.    Bob 4,64,200,5
  134.    Ink 1
  135.    Show On 
  136.    Limit Mouse 
  137.    Reserve Zone 2
  138.    Set Zone 1,117,143 To 203,183
  139.    Set Zone 2,78,203 To 243,244
  140.    Do 
  141.       If Mouse Zone=1 and Mouse Key=1 Then RLOAD
  142.       If Mouse Zone=2 and Mouse Key=1 Then INFO
  143.    Loop 
  144.    Fade 5 : Wait 5*15
  145. End Proc
  146. Procedure INFO
  147.    Screen Open 0,320,256,2,Lowres
  148.    Bob Off : Cls 0 : Flash Off : Curs Off 
  149.    Rainbow Del 
  150.    Curs Off : Flash Off 
  151.    Restore 
  152.    Colour 1,$55E
  153.    For N=1 To 242
  154.       Read A$
  155.       TXT$(N)=A$
  156.    Next N
  157.    CL=2 : PG=0 : PP=0
  158.    Repeat 
  159.       Pen 1 : Paper 0
  160.       HOP:
  161.       Do 
  162.          Centre TXT$(CL)
  163.          CL=CL+1
  164.          If CL=243 Then Screen Open 0,320,256,16,Lowres : Flash Off : Get Sprite Palette : Curs Off : Cls 0 : Goto 90 : Rem * Hello Intrepid explorer ! *
  165.          If TXT$(CL)="ANT WARS" Then PG=0
  166.          If TXT$(CL)="*" Then PG=PG+1 : Exit 
  167.          Print : Print 
  168.       Loop 
  169.       Wait 5
  170.       Goto FOW
  171.       BACK:
  172.       Repeat 
  173.          CL=CL-1
  174.       Until TXT$(CL)="*"
  175.       Repeat 
  176.          If CL=0 Then CL=CL+1 : Exit 
  177.          CL=CL-1
  178.       Until TXT$(CL)="*"
  179.       CL=CL+1 : If PG>0 Then PG=PG-2 Else PG=1
  180.       Goto HOP
  181.       FOW:
  182.       STAR
  183.       Wait Vbl 
  184.       Locate 0,27
  185.       T$="Page :"+Str$(PG)
  186.       Centre T$
  187.       Locate 0,29
  188.       Centre "Esc to Exit"
  189.       Do 
  190.          A$=Inkey$
  191.          SK=Scancode
  192.          If Mouse Key=1 and CL<242 Then CL=CL+1 : Cls : Exit 
  193.          If SK=69 Then Screen Open 0,320,256,16,Lowres : Flash Off : Get Sprite Palette : Curs Off : Cls 0 : Goto 90 : Rem * Hello Intrepid explorer ! *
  194.          If Mouse Key=2 and CL=>0 Then CL=CL-1 : Cls : Goto BACK
  195.          STAR
  196.       Loop 
  197.    Until INS=1
  198.    Data "*"
  199.    Data ""
  200.    Data "ANT WARS"
  201.    Data "------------"
  202.    Data " "
  203.    Data " "
  204.    Data "Press Left/Right mouse button "
  205.    Data "to read instructions"
  206.    Data "or ESC to go back to the menu."
  207.    '
  208.    Data "*"
  209.    '
  210.    Data "Ant Wars is this really "
  211.    Data "good game which is , like ,"
  212.    Data "really brilliant , see ?"
  213.    Data "The reasons why it is so "
  214.    Data "gobsmackingly , like , cool are :"
  215.    Data "*"
  216.    Data "(1) - I made it .              "
  217.    Data "(2) - It's taken me 10 months to"
  218.    Data "      make the bloody thing .  "
  219.    Data "(3) - It's got lots of violence"
  220.    Data "      and death and groovy     "
  221.    Data "      stuff like that .        "
  222.    Data "(4) - Unlike Lemmings , the    "
  223.    Data "      squished bodies stay on  "
  224.    Data "      screen when you walk them"
  225.    Data "      off high cliffs.         "
  226.    Data "*"
  227.    Data "O.K."
  228.    Data "I've plugged the game (which"
  229.    Data "incidentally is quite good.)"
  230.    Data "so I can now tell you how to"
  231.    Data "play the stupid thing."
  232.    Data "*"
  233.    Data "You'll need two players to play this"
  234.    Data "game , so if you've got no friends"
  235.    Data "'Ha ! , Ha !, Reject !' and tough ."
  236.    Data "*"
  237.    Data "Each player controls a helicopter"
  238.    Data "and a nest full of ants."
  239.    Data "Player 1 controls the Black ants."
  240.    Data "Player 2 controls the Red ants."
  241.    Data ""
  242.    Data "Control is Via the Mouse , Keys +"
  243.    Data "Joystick . The Function keys can"
  244.    Data "be used instead of the option "
  245.    Data "buttons at the top of the screen."
  246.    Data "*"
  247.    Data "Each player takes goes at blasting"
  248.    Data "the daylights out of each other and"
  249.    Data "is given five moves to get the ants"
  250.    Data "or helicopter to perform their tasks"
  251.    Data "*"
  252.    Data "To Begin with , Black goes first."
  253.    Data "You are presented with 3 buttons"
  254.    Data ""
  255.    Data "Infantry Heli and Skip"
  256.    Data ""
  257.    Data "Infantry gives you control over your"
  258.    Data "ants."
  259.    Data "Heli gives you control over your"
  260.    Data "heli ( oddly enough .)"
  261.    Data "Skip skips your go."
  262.    Data "*"
  263.    Data "INFANTRY"
  264.    Data "--------"
  265.    Data "The first button (Upside down leg"
  266.    Data "stump or anthill , depending on "
  267.    Data "which way you look at it .) , is"
  268.    Data "the DEPLOY button . Use this to"
  269.    Data "Deploy a new ant."
  270.    Data "*"
  271.    Data "The second button ( Pair of cloggers)"
  272.    Data "lets you move your ant around the "
  273.    Data "screen by first selecting an ant ,"
  274.    Data "then clicking on where you want to"
  275.    Data "move to . Press SPACE to quit walking."
  276.    Data "Easy ."
  277.    Data "*"
  278.    Data "The third button is the fun one."
  279.    Data "The bazooka button gives you"
  280.    Data "the power to blast your opponents"
  281.    Data "minions to bits (Hee! Hee!)"
  282.    Data "Its pretty simple to use , you'll"
  283.    Data "figure it out , trust me ."
  284.    Data "*"
  285.    Data "The fourth button (the pick axe)"
  286.    Data "is the mining jobby."
  287.    Data "Originally , I was going to give"
  288.    Data "the ants pick axes , but I"
  289.    Data "decided to modernise 'em a bit "
  290.    Data "and gave them some good old"
  291.    Data "Ultra Sonic Destructo-Tron"
  292.    Data "Laser Guided Mining Cannons"
  293.    Data "Courtesy of Double Decker (TM)"
  294.    Data "*"
  295.    Data "If you can't figure out how to "
  296.    Data "use them then your IQ obviously"
  297.    Data "hasn't reached the dizzy heights"
  298.    Data "of double figures yet."
  299.    Data "Get brain surgery pronto!"
  300.    Data "*"
  301.    Data "The fifth button ( bridges ) is handy"
  302.    Data "when trying to cross abysmal chasms"
  303.    Data "and the like.You use them in the"
  304.    Data "same way as the last thingies ."
  305.    Data "Using bridges doesn't use up"
  306.    Data "a go , because it can take a while "
  307.    Data "to cross large gaps ."
  308.    Data "*"
  309.    Data "Use skip to er, skip ."
  310.    Data ""
  311.    Data "Clicking on INFANTRY switches"
  312.    Data "control to Heli ."
  313.    Data "*"
  314.    Data "HELICOPTERS"
  315.    Data "-----------"
  316.    Data "Okydo! "
  317.    Data "The up/down arrows on the selection"
  318.    Data "screen are for lifting and dropping"
  319.    Data "ants respectively."
  320.    Data "Use these to transport ants over long"
  321.    Data "distances."
  322.    Data "The other icon is the Move icon."
  323.    Data "Selecting this allows you to manouvre"
  324.    Data "your heli around the place."
  325.    Data "*"
  326.    Data "To quit your go select Skip. "
  327.    Data ""
  328.    Data "Select the HELI button to"
  329.    Data "switch to Infantry ."
  330.    Data "*"
  331.    Data "I hope you enjoy this game"
  332.    Data "('Cause I'm sick to death of"
  333.    Data "making it.)"
  334.    Data "Play it a few times and it'll"
  335.    Data "grow on you (I hope)."
  336.    Data "*"
  337.    Data "If you like Ant Wars then you"
  338.    Data "might like to avail of these offers:"
  339.    Data "(Oh dear ! That's a little bit cliched"
  340.    Data " isn't it ? Better change that so.)"
  341.    Data "*"
  342.    Data "Right , Spud Neck , me 'auld compost"
  343.    Data "heap , Hangin' thirthy "
  344.    Data "for zippo pot post?"
  345.    Data "(That's better)"
  346.    Data "*"
  347.    Data "Send me ï¿½ 5.75 and you'll get :"
  348.    Data "Ant Wars 2 - The Stunning Sequel"
  349.    Data "Sensation!"
  350.    Data "Featuring :"
  351.    Data "Bigger play areas !"
  352.    Data "Multiple helicopters !"
  353.    Data "Tanks !"
  354.    Data "Personel Carriers !"
  355.    Data "New types of weapons !"
  356.    Data "Custom Map Editor !"
  357.    Data "Improved graphics !"
  358.    Data "Better Sound !"
  359.    Data "A free Heifer !"
  360.    Data "*"
  361.    Data "And also a wholly improved"
  362.    Data "Witty set of instructions."
  363.    Data "*"
  364.    Data "If you would like to obtain"
  365.    Data "the fully explained AMOS source"
  366.    Data "code for this game + the"
  367.    Data "custom map editor + "
  368.    Data "anything else I can fit on"
  369.    Data "the disk , then ..."
  370.    Data "*"
  371.    Data "put a blank disk in with your "
  372.    Data "donation to this humble destitute"
  373.    Data "programmer."
  374.    Data "*"
  375.    Data "Apart from that , though , feel"
  376.    Data "free to write to me about anything"
  377.    Data "at all , (especially if you happen"
  378.    Data "be female and about , oh , 16 say .)"
  379.    Data "*"
  380.    Data "Let's see , is there anything"
  381.    Data "left to mention ?"
  382.    Data "*"
  383.    Data "Oh yeah! The charity appeal !"
  384.    Data "You see this game was made on a bog"
  385.    Data "standard A500 with one floppy"
  386.    Data "drive , which is pretty amazing"
  387.    Data "when you see the standard of my"
  388.    Data "game , don't you think ?"
  389.    Data "So please ! Give me money !"
  390.    Data "Give me your money!"
  391.    Data "Give me all of it !"
  392.    Data "If I don't get a hard drive "
  393.    Data "soon I'll flip."
  394.    Data "*"
  395.    Data "I'd better mention my friends"
  396.    Data "here , I Suppose ."
  397.    Data "Hello to :"
  398.    Data "*"
  399.    Data "Dave (totally paranoid)"
  400.    Data "Binny (totally 12 year-old-ish)"
  401.    Data "Gavin  (totally hairy chin wise)"
  402.    Data "Fergal (a 'ickle bick odd)"
  403.    Data "Steve (utterly cool,cute 'n cuddly)"
  404.    Data "Colm (god guy gust gate ganoes)"
  405.    Data "Lucifer ( Greetingsss Massster ! )"
  406.    Data "Connor ( Kill! , Kill! , Mosh! )"
  407.    Data "*"
  408.    Data "Ruth (Hello Fishy!)"
  409.    Data "Ev (Hello other fishy!)"
  410.    Data "Mary (I'm blonde , I'm blonde ...)"
  411.    Data "Karen (Bruises healed yet?)"
  412.    Data "Elaine ( HAA! HAA! HAA! )"
  413.    Data "Niamh (What ? me? I'm innocent!)"
  414.    Data "Amy (Very few people are "
  415.    Data "going to get this joke)"
  416.    Data "*"
  417.    Data "PARANOID"
  418.    Data "PRODUCTIONS"
  419.    Data "(93/94)"
  420.    Data "*"
  421.    Data "This game is Public Domain so I"
  422.    Data "don't mind if you copy it and"
  423.    Data "give it to your friends."
  424.    Data "(Actually I'd appreciate it "
  425.    Data "if you would.)"
  426.    Data "*"
  427.    LABEL:
  428.    Data "Send all comments , observations , "
  429.    Data "ideas , complaints , inquiries , "
  430.    Data "subscriptions for Ant Wars Too ,"
  431.    Data "death threats ,letter bombs , "
  432.    Data "blank cheques and donations to :"
  433.    Data " "
  434.    Data "Chris Gregan"
  435.    Data "Sheaf o' Wheat"
  436.    Data "Dunboyne"
  437.    Data "Co.Meath"
  438.    Data "Ireland"
  439.    Data ""
  440.    Data ""
  441.    Data "*"
  442.    Data "\"
  443. End Proc
  444. Procedure ESC
  445.    For N=1 To 10
  446.       STAR
  447.    Next N
  448.    F$=""
  449.    Do 
  450.       STAR
  451.       F$=Inkey$ : K=Scancode
  452.       If K=69 Then ES=1 : Exit 
  453.       If F$<>"" or Mouse Key=1 Then Exit 
  454.    Loop 
  455. End Proc
  456. Procedure STARSET
  457.    For N=0 To NN
  458.       X(N)=Rnd(320)
  459.       Y(N)=Rnd(200)
  460.    Next N
  461. End Proc
  462. Procedure STAR
  463.    '   CX=160 : CY=130
  464.    Ink 1
  465.    For N=0 To NN
  466.       If Point(X(N),Y(N))>0 Then BC(N)=1
  467.       Plot X(N),Y(N)
  468.    Next N
  469.    Ink 0
  470.    For N=0 To NN
  471.       If BC(N)=0 Then Plot X(N),Y(N) Else BC(N)=0
  472.    Next N
  473.    For N=0 To NN
  474.       Y(N)=Y(N)+(N/10)+1 : If Y(N)>200 Then X(N)=Rnd(320) : Y(N)=0
  475.    Next N
  476.    '  For N=0 To NN 
  477.    '     XX(N)=XX(N)+X(N) 
  478.    '     YY(N)=YY(N)+Y(N) 
  479.    '     If Point(CX+XX(N),CY+YY(N))>0 Then BC(N)=1 
  480.    '     Plot CX+XX(N),CY+YY(N) 
  481.    '     If CX+XX(N)>320 or CX+XX(N)<0
  482.    '        XX(N)=0 : YY(N)=0 
  483.    '        X(N)=Rnd(10)-5 : Y(N)=Rnd(10)-5 
  484.    '     End If 
  485.    '     If CY+YY(N)>230 or CY+YY(N)<0
  486.    '        Ink 0 : Plot CX+XX(N),CY+YY(N)
  487.    '        YY(N)=0 : XX(N)=0 
  488.    '        Y(N)=Rnd(10)-5 : X(N)=Rnd(10)-5 
  489.    '     End If 
  490.    '   Next N 
  491. End Proc
  492. Procedure _WAIT
  493.    For N=1 To W
  494.       A$=""
  495.       A$=Inkey$
  496.       Wait 1
  497.       If A$<>"" Then Goto 70
  498.       If Mouse Key>0 Then Goto 70
  499.       If Fire(1)=-1 Then Goto 70
  500.    Next N
  501. End Proc
  502. Procedure RLOAD
  503.    Fade 2 : Wait 30
  504.    Bob Off : Wait 5
  505.    Flash Off 
  506.    Get Sprite Palette 
  507.    Bob 0,75,60,6 : Wait Vbl 
  508.    Bob 0,75,60,6
  509.    Sam Loop Off 
  510.    For N=5 To 0 Step -1
  511.       Volume N
  512.       Wait 5
  513.    Next N
  514.    Do 
  515.       K=Exist("ant_war2:")
  516.       If K=-1 Then Exit 
  517.    Loop 
  518.    Fade 2 : Wait 30
  519.    Volume 63
  520.    Unpack 10 To 0
  521.    Wait 30
  522.    Run "Ant_War2:code/barebones.amos"
  523. End Proc