home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 426-450 / apd433 / sprite600.amos / sprite600.amosSourceCode
AMOS Source Code  |  1978-08-27  |  26KB  |  1,023 lines

  1. Rem ---------------------------------- 
  2. Rem - Sprites 600 animations demo ---- 
  3. Rem ---------------------------------- 
  4. Screen Close 0
  5. Rem ---------------------------------- 
  6. Rem ---- * Set up default drive * ---- 
  7. Rem ---------------------------------- 
  8. Dir$="Pukadu_&_Sprite_600:Sprite_600/"
  9. Rem ------------------------------ 
  10. Rem ---- * Open Menu screen * ---- 
  11. Rem ------------------------------ 
  12. Screen Open 1,640,200,2,Hires
  13. Palette $0,$FFF
  14. Flash Off 
  15. Curs Off 
  16. Rem -----------------------------------------  
  17. Rem ---- * Global variable declaration * ----
  18. Rem ---- * Setup Animation Channels    * ----
  19. Rem -----------------------------------------
  20. Global DEMO
  21. DEMO=0
  22. SETCHAN
  23. Rem -------------------------- 
  24. Rem ---- * Main Program * ---- 
  25. Rem -------------------------- 
  26. CREATE_MENU
  27. DISPLAY_PROMPT
  28. On Menu Proc INFO,ALIENS,FANTASY,FLIGHT,GROUND,SPACE,VEHICLE,WATER
  29. On Menu On 
  30. Menu On 
  31. Repeat 
  32.    Rem -------------------------- 
  33.    Rem ---- * Wait Forever * ---- 
  34.    Rem -------------------------- 
  35. Until False
  36. End 
  37. Rem -------------------------------- 
  38. Rem ---- * Control Procedures * ---- 
  39. Rem -------------------------------- 
  40. Procedure INFO
  41.    C=Choice(2)
  42.    If C=1 Then FULL_DEMO
  43.    If C=2 Then MESSAGE
  44.    If C=3 Then On Menu On 
  45.    If C=4 Then Edit 
  46.    DISPLAY_PROMPT
  47. End Proc
  48. Procedure ALIENS
  49.    Shared C
  50.    If DEMO=0 Then C=Choice(2) Else C=DEMO
  51.    On C Proc ALIEN1_DEMO,ALIEN2_DEMO,ALIEN3_DEMO
  52.    On(C-3) Proc ALIEN4_DEMO,ALIEN5_DEMO,ALIEN6_DEMO
  53.    On(C-6) Proc ALIEN7_DEMO,ALIEN8_DEMO,ALIEN9_DEMO
  54.    On(C-9) Proc ALIEN9B_DEMO,ALIEN10_DEMO
  55.    On(C-11) Proc MONSTER_DEMO,MONSTER_DEMO,MONSTER_DEMO,MONSTER_DEMO
  56.    On(C-15) Proc SLIMESTER_DEMO,SMALL_DROID_DEMO,EGG_TIMER_DEMO
  57.    If DEMO=0 Then INIT
  58. End Proc
  59. Procedure FANTASY
  60.    If DEMO=0 Then C=Choice(2) Else C=DEMO
  61.    On C Proc DRAGON_DEMO,FANTASY_DEMO,MARIO_DEMO
  62.    If DEMO=0 Then INIT
  63. End Proc
  64. Procedure FLIGHT
  65.    If DEMO=0 Then C=Choice(2) Else C=DEMO
  66.    On C Proc AIRBALLON_DEMO,AIRSHIP_DEMO,BIPLANE_DEMO
  67.    On(C-3) Proc HANDGLIDER_DEMO,HELICOPTERS_DEMO,JETPLANES_DEMO
  68.    On(C-6) Proc AIRPLANE_DEMO,PRIVATE_PLANE_DEMO,SEA_PLANE_DEMO
  69.    On(C-9) Proc SPITFIRE_DEMO
  70.    If DEMO=0 Then INIT
  71. End Proc
  72. Procedure GROUND
  73.    If DEMO=0 Then C=Choice(2) Else C=DEMO
  74.    On C Proc GROUND1_DEMO,GROUND2_DEMO,GROUND3_DEMO
  75.    On(C-3) Proc GROUND4_DEMO,GROUND5_DEMO
  76.    If DEMO=0 Then INIT
  77. End Proc
  78. Procedure SPACE
  79.    If DEMO=0 Then C=Choice(2) Else C=DEMO
  80.    On C Proc SHIP1_DEMO,SHIP2_DEMO,SHIP3_DEMO,XPLOSION_DEMO
  81.    If DEMO=0 Then INIT
  82. End Proc
  83. Procedure VEHICLE
  84.    If DEMO=0 Then C=Choice(2) Else C=DEMO
  85.    On C Proc BICYCLE_DEMO,LORRIES_DEMO,PORSCHE_DEMO,SCOOTER_DEMO
  86.    On(C-4) Proc SKATEBOARD_DEMO,SUPERBIKE_DEMO,TRIALS_DEMO
  87.    If DEMO=0 Then INIT
  88. End Proc
  89. Procedure WATER
  90.    If DEMO=0 Then C=Choice(2) Else C=DEMO
  91.    On C Proc BATTLESHIPS_DEMO,CLAM_DEMO,FISH_DEMO
  92.    On(C-3) Proc MERMAID_DEMO,SHARK_DEMO,SUBMARINE_DEMO,WHALE_DEMO
  93.    If DEMO=0 Then INIT
  94. End Proc
  95. Rem ---------------------------------
  96. Rem ---- * Information Options * ----
  97. Rem ---------------------------------
  98. Procedure MESSAGE
  99.    Hide On 
  100.    Menu Off 
  101.    Screen Open 0,320,200,2,Lowres
  102.    Flash Off : Curs Off 
  103.    Palette $0,$FFF
  104.    Centre At(,2)+Border$("AMOS Sprite 600 Demo",1)
  105.    Centre At(,5)+"By Abdul Malik Kalim."
  106.    Centre At(,7)+"The original Sprite 600 Demo and"
  107.    Centre At(,8)+"the sprites were designed on the"
  108.    Centre At(,9)+"Atari ST by David McLachlan."
  109.    Centre At(,11)+"The STOS Sprites were transferred"
  110.    Centre At(,12)+"onto the Commodore Amiga by"
  111.    Centre At(,13)+"Peter Hickman."
  112.    Centre At(,15)+"� 1990 Mandarin Software"
  113.    Inverse On 
  114.    Centre At(,19)+"CLICK MOUSE BUTTON TO CONTINUE"
  115.    Inverse Off 
  116.    Repeat 
  117.    Until Mouse Click
  118.    Screen Close 0
  119.    Screen To Front 1
  120.    On Menu On 
  121.    Menu On 
  122.    Show On 
  123. End Proc
  124. Procedure FULL_DEMO
  125.    Screen Open 0,320,200,16,Lowres
  126.    Flash Off 
  127.    Curs Off 
  128.    Cls 0
  129.    Double Buffer 
  130.    Palette $0,0
  131.    For DEMO=1 To 18 : ALIENS : Next DEMO
  132.    For DEMO=1 To 3 : FANTASY : Next DEMO
  133.    For DEMO=1 To 10 : FLIGHT : Next DEMO
  134.    For DEMO=1 To 5 : GROUND : Next DEMO
  135.    For DEMO=1 To 4 : SPACE : Next DEMO
  136.    For DEMO=1 To 7 : VEHICLE : Next DEMO
  137.    For DEMO=1 To 7 : WATER : Next DEMO
  138.    SETDOWN
  139.    DEMO=0
  140.    Screen To Front 1
  141.    Screen Close 0
  142.    On Menu On 
  143.    Menu On 
  144.    Show On 
  145.    DISPLAY_PROMPT
  146. End Proc
  147. Rem -------------------------- 
  148. Rem ---- * Alien Option * ---- 
  149. Rem -------------------------- 
  150. Procedure ALIEN1_DEMO
  151.    Load "Aliens/Alien1.Abk"
  152.    SETUP
  153.    Bob 1,320,80,1
  154.    AM$="Anim 0,(1,5)(7,5)(8,5)(9,5)(8,5)(7,5) ;"
  155.    AM$=AM$+"Move -112,0,8 ; Move -24,0,3 ; Move -15,0,5 ;"
  156.    AM$=AM$+"Move -24,0,3 ; Move -16,0,4"
  157.    Amal 1,AM$
  158.    Amal On 1
  159.    While Chanmv(1) : Wend 
  160.    Amal 1,"Anim 1,(2,2)(3,2)(4,2)(5,2)(6,2)(1,2)"
  161.    Amal On 1
  162.    Wait 10
  163.    Shoot 
  164.    Bob 2,143,115,17
  165.    Amal 2,"Move 0,96,8"
  166.    Amal On 2
  167.    While Chanmv(2) : Wend 
  168.    Wait 20
  169.    Amal 1,"Anim 1,(10,3)(11,3)(12,3)(13,3)(14,3)(15,3)(16,3)(18,3)"
  170.    Amal On 1
  171.    Boom 
  172.    Wait 35
  173.    SETDOWN
  174. End Proc
  175. Procedure ALIEN2_DEMO
  176.    Load "Aliens/Alien2.Abk"
  177.    SETUP
  178.    Bob 1,160,-30,1
  179.    AM$="Anim 0,(4,5)(5,5)(6,5)(7,5)(8,5)(9,5)(10,5) ;"
  180.    AM$=AM$+"Move 0,234,78 ; Move 30,0,30 ; Move -100,0,50"
  181.    Amal 1,AM$
  182.    Amal On 
  183.    Repeat 
  184.    Until Y Bob(1)>90
  185.    Amal 1,"Anim 1,(12,3)(13,3)(14,3)(15,3)(16,3)(17,3)(18,3)(19,3)"
  186.    Boom 
  187.    Amal On 1
  188.    Wait 40
  189.    SETDOWN
  190. End Proc
  191. Procedure ALIEN3_DEMO
  192.    Load "Aliens/Alien3.Abk"
  193.    SETUP
  194.    Bob 1,128,-32,1
  195.    AM$="Anim 0,(1,5)(2,5)(3,5) ;"
  196.    AM$=AM$+"Move 40,80,40 ; Move -40,80,40 ; Move -40,-40,40 ; Move 40,-40,40"
  197.    Amal 1,AM$
  198.    Amal On 
  199.    While Chanmv(1) : Wend 
  200.    Amal 1,"Anim 1,(4,3)(5,3)(6,3)(7,3)(8,3)(9,3)(10,3)(11,3)"
  201.    Amal On 
  202.    Boom 
  203.    Wait 24
  204.    SETDOWN
  205. End Proc
  206. Procedure ALIEN4_DEMO
  207.    Load "Aliens/Alien4.Abk"
  208.    SETUP
  209.    Bob 1,80,-30,1
  210.    Amal 1,"Anim 0,(1,5)(2,5)(3,5)(4,5) ; Move 0,120,40 ; Move 320,0,40"
  211.    Amal On 
  212.    While Chanmv(1) : Wend 
  213.    SETDOWN
  214. End Proc
  215. Procedure ALIEN5_DEMO
  216.    Load "Aliens/Alien5.Abk"
  217.    SETUP
  218.    For B=1 To 3
  219.       Bob B,-16,199,1
  220.       Move X B,"(1,15,23)"
  221.       Move Y B,"(1,-10,20)"
  222.       Move On B
  223.       Wait 7
  224.    Next B
  225.    For B=1 To 3
  226.       Bob B,320,80,1
  227.       Move X B,"320(1,-14,8)(1,-8,3)(1,-3,5)(1,-1,20)(1,-3,5)(1,-8,3)(1,-14,10)"
  228.       Move On B
  229.       Wait 60
  230.    Next B
  231.    For B=1 To 3
  232.       Bob B,-16,80,1
  233.       Move X B,"-16(1,14,8)(1,8,3)(1,3,5)(1,1,10)(1,0,75)(1,1,10)(1,3,5)(1,8,3)(1,14,10)"
  234.       Move On B
  235.       Wait 26
  236.       Anim B,"(2,5)(3,5)(4,5)(5,5)(6,5)(5,5)(6,5)(5,5)(6,5)(5,5)(4,5)(3,5)(2,5)(1,5)"
  237.       Anim On B
  238.       While X Bob(B)<290 : Wend 
  239.       Move Off 
  240.       Anim B,"(7,5)(8,5)(9,5)(10,5)(11,5)(12,5)(13,5)(14,5)(15,5)(16,5)(17,5)(18,5)(19,5)"
  241.       Anim On B
  242.       Boom 
  243.       Wait 15
  244.    Next B
  245.    Wait 55
  246.    SETDOWN
  247. End Proc
  248. Procedure ALIEN6_DEMO
  249.    Load "Aliens/Alien6.Abk"
  250.    SETUP
  251.    Bob 1,160,201,1
  252.    Amal 1,"Anim 0,(1,5)(2,5)(3,5)(4,5) ; Move 0,-100,200"
  253.    Amal On 1
  254.    Bob 2,-16,100,1
  255.    Amal 2,"Anim 1,(1,5)(2,5)(3,5)(4,5) ; Move 180,0,18"
  256.    Wait 195
  257.    Amal On 2
  258.    While Chanmv(2) : Wend 
  259.    Amal 1,"Anim 1,(5,5)(6,5)(7,5)(8,5)(9,5)(10,5)(11,5)"
  260.    Amal 2,"Anim 1,(5,5)(6,5)(7,5)(8,5)(9,5)(10,5)(11,5)"
  261.    Amal On 
  262.    Boom 
  263.    Wait 35
  264.    SETDOWN
  265. End Proc
  266. Procedure ALIEN7_DEMO
  267.    Load "Aliens/Alien7.Abk"
  268.    SETUP
  269.    For B=1 To 4
  270.       Bob B,30+(B*50),-16,1
  271.       Anim B,"(1,5)(2,5)(3,5)(4,5)l"
  272.       Move Y B,"-16(1,5,30)(1,2,10)(1,-2,10)(1,-5,20)(1,-2,10)(1,1,10)"
  273.       Move On B
  274.       Anim On B
  275.       Wait 20
  276.    Next B
  277.    Wait 50
  278.    For B=1 To 4
  279.       Anim B,"(5,2)(6,2)(7,2)(8,2)(9,2)(10,2)(11,2)(12,2)(13,2)(14,2)(15,2)"
  280.       Anim On B
  281.       Wait 15
  282.    Next B
  283.    Wait 30
  284.    SETDOWN
  285. End Proc
  286. Procedure ALIEN8_DEMO
  287.    Load "Aliens/Alien8.Abk"
  288.    SETUP
  289.    For B=1 To 4
  290.       Bob B,-16,-16,1
  291.       Amal B,"Anim 0,(1,5)(2,5)(3,5)(4,5) ; Move 320,240,80"
  292.       Amal On B
  293.       Wait 20
  294.    Next B
  295.    For B=1 To 4
  296.       Wait 25
  297.       Bob B,80+(B*30),220,1
  298.       Amal B,"Move 0,-144,36 ; Move 0,-20,20"
  299.       Amal On B
  300.    Next B
  301.    While Chanmv(4) : Wend 
  302.    For B=1 To 4
  303.       Amal B,"Anim 1,(5,8)(6,8)(7,8)(8,8)(9,8)(10,8)(11,8)(12,8)(13,8)(14,8)(15,8)"
  304.       Amal On B
  305.       Wait 30
  306.    Next B
  307.    Wait 90
  308.    SETDOWN
  309. End Proc
  310. Procedure ALIEN9_DEMO
  311.    Load "Aliens/Alien9.Abk"
  312.    SETUP
  313.    Bob 1,0,0,1
  314.    Amal 1,"Anim 0,(1,4)(2,4)(3,4)(4,4)(5,4)(6,4)(7,4)(8,4) ; Move 200,100,200"
  315.    Amal On 
  316.    While Chanmv(1) : Wend 
  317.    Amal 1,"Anim 1,(9,5)(10,5)(11,5)(12,5)(13,5)(14,5)(15,5)(16,5)(17,5)(18,5)(19,5)(20,5)"
  318.    Amal On 1
  319.    Boom 
  320.    Wait 55
  321.    SETDOWN
  322. End Proc
  323. Procedure ALIEN9B_DEMO
  324.    Load "Aliens/Alien9B.Abk"
  325.    SETUP
  326.    Bob 1,-16,100,8
  327.    Amal 1,"Anim 0,(8,5)(1,5)(2,5)(3,5)(4,5)(5,5)(6,5)(7,5) ; Move 160,0,80"
  328.    Amal On 
  329.    While Chanmv(1) : Wend 
  330.    Amal 1,"Anim 1,(9,5)(10,5)(11,5)(12,5)(13,5)(14,5)(15,5)(16,5)(17,5)(18,5)(19,5)(20,5)"
  331.    Amal On 1
  332.    Wait 55
  333.    SETDOWN
  334. End Proc
  335. Procedure ALIEN10_DEMO
  336.    Load "Aliens/Alien10.Abk"
  337.    SETUP
  338.    For B=1 To 4
  339.       Bob B,0,100,1
  340.       Amal B,"Anim 0,(1,4)(2,4)(3,4)(4,4)(5,4)(6,4)(7,4)(8,4) ; Move 360,0,360"
  341.       Amal On B
  342.       Wait 64
  343.    Next B
  344.    While Chanmv(4) : Wend 
  345.    SETDOWN
  346. End Proc
  347. Procedure MONSTER_DEMO
  348.    Shared C
  349.    If C=12 Then Load "Aliens/Monster1.Abk"
  350.    If C=13 Then Load "Aliens/Monster2.Abk"
  351.    If C=14 Then Load "Aliens/Monster3.Abk"
  352.    If C=15 Then Load "Aliens/Monster4.Abk"
  353.    SETUP
  354.    AM$="Anim 1,(1,8)(2,8)(3,8)(4,8)(5,8)(6,8)(7,8)(8,8) ;"
  355.    AM$=AM$+"For R0=1 To 32 Pause Next R0 ;"
  356.    AM$=AM$+"Anim 0,(9,4)(10,4)(10,4)(11,4)(10,4) ;"
  357.    AM$=AM$+"Move 320,0,80"
  358.    For B=1 To 4
  359.       Bob B,B*50,50,1
  360.       Amal B,AM$
  361.    Next B
  362.    Amal On 
  363.    While Chanmv(4) : Wend 
  364.    SETDOWN
  365. End Proc
  366. Procedure SLIMESTER_DEMO
  367.    Load "Aliens/Slimster.Abk"
  368.    SETUP
  369.    Bob 1,360,100,1
  370.    Amal 1,"Anim 0,(1,5)(2,5)(3,5)(4,5)(5,5) ; Move -390,0,130"
  371.    Amal On 
  372.    While Chanmv(1) : Wend 
  373.    SETDOWN
  374. End Proc
  375. Procedure SMALL_DROID_DEMO
  376.    Load "Aliens/SmlDroid.Abk"
  377.    SETUP
  378.    For B=1 To 4
  379.       AM$="Anim 0,(1,5)(2,5)(3,5)(4,5)(5,5)(6,5)(7,5)"
  380.       AM$=AM$+"(8,5)(9,5)(10,5)(11,5)(12,5)(13,5)(14,5)(15,5) ;"
  381.       AM$=AM$+"Move -352,0,352"
  382.       Bob B,320,10+(B-1)*35,1
  383.       Amal B,AM$
  384.    Next B
  385.    Amal On 
  386.    While Chanmv(4) : Wend 
  387.    SETDOWN
  388. End Proc
  389. Procedure EGG_TIMER_DEMO
  390.    Load "Aliens/EggTimer.Abk"
  391.    SETUP
  392.    For B=1 To 4
  393.       Bob B,(B*32)+64,100,1
  394.       AM$="Anim 4,(8,8)(9,8)(10,8)(11,8)(12,8)(13,8)(14,8)(15,8)(16,8)(17,8)(8,8)"
  395.       Amal B,AM$
  396.    Next B
  397.    Amal On 
  398.    Wait 380
  399.    SETDOWN
  400. End Proc
  401. Rem -----------------------------
  402. Rem ---- * Fantasy Options * ----
  403. Rem -----------------------------
  404. Procedure DRAGON_DEMO
  405.    Load "Fantasy/Dragon.Abk"
  406.    SETUP
  407.    Bob 1,160,200,1
  408.    Anim 1,"(1,3)(2,3)(3,3)(4,3)(5,3)(6,3)(7,3)(8,3)(9,3)(10,3)l"
  409.    Move Y 1,"200(1,-5,25)"
  410.    Move X 1,"(1,0,20)(2,0,50)(1,-10,20)"
  411.    Anim On 1
  412.    Move On 1
  413.    Wait 140
  414.    SETDOWN
  415. End Proc
  416. Procedure FANTASY_DEMO
  417.    Load "Fantasy/Fantasy.Abk"
  418.    SETUP
  419.    S=0
  420.    Autoback 0
  421.    For Y=1 To 2
  422.       For X=1 To 3
  423.          Inc S
  424.          Paste Bob X*70,Y*50,S
  425.       Next X
  426.    Next Y
  427.    Screen Swap 
  428.    Wait 100
  429.    Autoback 2
  430.    SETDOWN
  431. End Proc
  432. Procedure MARIO_DEMO
  433.    Load "Fantasy/Mario.Abk"
  434.    SETUP
  435.    For B=1 To 4
  436.       Bob B,-8,B*40,1
  437.       Amal B,"Anim 0,(1,5)(2,5)(3,5)(4,5)(5,5)(6,5) ; Move 336,0,336"
  438.    Next B
  439.    Amal On 
  440.    While Chanmv(4) : Wend 
  441.    SETDOWN
  442. End Proc
  443. Rem ---------------------------- 
  444. Rem ---- * Flight Options * ---- 
  445. Rem ---------------------------- 
  446. Procedure AIRBALLON_DEMO
  447.    Load "Flight/AirBalon.Abk"
  448.    SETUP
  449.    Bob 1,50,216,1
  450.    Amal 1,"Anim 0,(2,5)(3,5) ; Move 260,-260,260"
  451.    Amal On 
  452.    While Chanmv(1) : Wend 
  453.    SETDOWN
  454. End Proc
  455. Procedure AIRSHIP_DEMO
  456.    Load "Flight/Airship.Abk"
  457.    SETUP
  458.    For B=1 To 4
  459.       Bob B,328,B*40,1
  460.       Amal B,"Move -380,0,380"
  461.    Next B
  462.    Amal On 
  463.    While Chanmv(4) : Wend 
  464.    SETDOWN
  465. End Proc
  466. Procedure BIPLANE_DEMO
  467.    Load "Flight/Biplane.Abk"
  468.    SETUP
  469.    For B=1 To 4
  470.       Bob B,320,B*40,1
  471.       Bob B+4,B*40,200,5
  472.       AM1$="Anim 0,(1,5)(2,5)(3,5)(4,5) ; Move -360,0,180"
  473.       AM2$="Anim 0,(5,5)(6,5)(7,5) ;"
  474.       AM2$=AM2$+"Move 0,-120,60"
  475.       AM2$=AM2$+"Anim 1,(8,5)(9,5)(10,5)(11,5)(12,5)(13,5)(14,5)(15,5)(16,5) ;"
  476.       AM2$=AM2$+"Move 0,-16,16"
  477.       Amal B,AM1$
  478.       Amal B+4,AM2$
  479.    Next B
  480.    Amal On 
  481.    While Chanmv(4) : Wend 
  482.    SETDOWN
  483. End Proc
  484. Procedure HANDGLIDER_DEMO
  485.    Load "Flight/Handglid.Abk"
  486.    SETUP
  487.    For B=1 To 4
  488.       Bob B,320,B*40,1
  489.       AM$="Anim 0,(1,30)(2,30)(4,5)(5,5)(6,5)(5,5)"
  490.       AM$=AM$+"(4,5)(5,5)(6,5)(5,5)(4,5)(3,5) ;"
  491.       AM$=AM$+"Move -150,100,150 ;"
  492.       AM$=AM$+"Move -200,-200,200 "
  493.       Amal B,AM$
  494.    Next B
  495.    Amal On 
  496.    While Chanmv(4) : Wend 
  497.    SETDOWN
  498. End Proc
  499. Procedure HELICOPTERS_DEMO
  500.    Load "Flight/Helecopt.Abk"
  501.    SETUP
  502.    Bob 1,320,50,1
  503.    Bob 2,320,150,4
  504.    Bob 3,-64,100,7
  505.    Amal 1,"Anim 0,(1,5)(2,5)(3,5) ; Move -400,0,400"
  506.    Amal 2,"Anim 0,(4,5)(5,5)(6,5) ; Move -400,0,400"
  507.    Amal 3,"Anim 0,(7,5)(8,5)(9,5) ; Move 400,0,400"
  508.    Amal On 
  509.    While Chanmv(1) : Wend 
  510.    SETDOWN
  511. End Proc
  512. Procedure JETPLANES_DEMO
  513.    Load "Flight/Jetplane.Abk"
  514.    SETUP
  515.    For B=1 To 3
  516.       Bob 1,-48,B*40,B
  517.       Amal 1,"Move 360,0,45"
  518.       Amal On 
  519.       While Chanmv(1) : Wend 
  520.    Next B
  521.    Bob 1,160,200,4
  522.    Amal 1,"Move 0,-256,64"
  523.    Amal On 
  524.    While Chanmv(1) : Wend 
  525.    SETDOWN
  526. End Proc
  527. Procedure AIRPLANE_DEMO
  528.    Load "Flight/Planes.Abk"
  529.    SETUP
  530.    Bob 1,320,70,1
  531.    Bob 2,32,200,4
  532.    Amal 1,"Anim 0,(1,5)(2,5)(3,5) ; Move -360,0,90"
  533.    Amal 2,"Anim 0,(4,5)(5,5)(6,5)(7,5) ; Move 0,-256,64"
  534.    Amal On 
  535.    While Chanmv(1) : Wend 
  536.    SETDOWN
  537. End Proc
  538. Procedure PRIVATE_PLANE_DEMO
  539.    Load "Flight/Prvplane.Abk"
  540.    SETUP
  541.    Bob 1,320,100,1
  542.    Bob 2,100,200,2
  543.    Amal 1,"Move -352,0,176"
  544.    Amal 2,"Move 0,-240,120"
  545.    Amal On 
  546.    While Chanmv(1) : Wend 
  547.    SETDOWN
  548. End Proc
  549. Procedure SEA_PLANE_DEMO
  550.    Load "Flight/Seaplane.Abk"
  551.    SETUP
  552.    Bob 1,320,100,1
  553.    Bob 2,150,200,5
  554.    Amal 1,"Anim 0,(1,5)(2,5)(3,5)(4,5) ; Move -352,0,176"
  555.    Amal 2,"Anim 0,(5,5)(6,5)(7,5) ; Move 0,-240,120"
  556.    Amal On 
  557.    While Chanmv(1) : Wend 
  558.    SETDOWN
  559. End Proc
  560. Procedure SPITFIRE_DEMO
  561.    Load "Flight/Spitfire.Abk"
  562.    SETUP
  563.    Bob 1,320,100,1
  564.    Amal 1,"Anim 0,(1,2)(2,2) ; Move -368,0,92"
  565.    Amal On 
  566.    While Chanmv(1) : Wend 
  567.    Wait 50
  568.    Bob 1,120,200,3
  569.    Amal 1,"Anim 0,(3,2)(4,2) ; Move 0,-240,60"
  570.    Amal On 
  571.    While Chanmv(1) : Wend 
  572.    SETDOWN
  573. End Proc
  574. Rem ---------------------------- 
  575. Rem ---- * Ground Options * ---- 
  576. Rem ---------------------------- 
  577. Procedure GROUND1_DEMO
  578.    Load "Ground/Ground1.Abk"
  579.    SETUP
  580.    For L=1 To 4
  581.       Bob 1,160,180,1
  582.       Amal 1,"Anim 1,(1,5)(2,5)(3,5)(4,5)(5,5)(6,5)(7,5)(8,5)(9,8)(8,5)"
  583.       Amal On 1
  584.       Wait 45
  585.       Bob 2,168,180,16
  586.       Move X 2,"(1,-8,23)"
  587.       Move Y 2,"(1,-6,23)"
  588.       Move On 2
  589.       While Movon(2) : Wend 
  590.       Bob 1,160,180,1
  591.       Amal 1,"Anim 1,(7,5)(6,5)(5,5)(4,5)(3,5)(2,5)(1,5)"
  592.       Amal On 1
  593.       Wait 45
  594.       Amal Off 
  595.    Next L
  596.    SETDOWN
  597. End Proc
  598. Procedure GROUND2_DEMO
  599.    Load "Ground/Ground2.Abk"
  600.    SETUP
  601.    For L00P=1 To 4
  602.       Bob 1,150,180,1
  603.       Bob 2,170,180,4
  604.       Amal 1,"Anim 0,(1,5)(2,5)(3,5)(1,5)"
  605.       Amal 2,"Anim 0,(6,5)(5,5)(4,5)(6,5)"
  606.       Amal On 1 : Amal On 2 : Wait 20
  607.       Bob 3,158,180,8
  608.       Bob 4,170,180,8
  609.       Amal 3,"Move -200,-200,50"
  610.       Amal 4,"Move 200,-200,50"
  611.       Amal On 3 : Amal On 4
  612.       Wait 50
  613.       While Chanmv(3) : Wend 
  614.       Amal Off 
  615.    Next L00P
  616.    SETDOWN
  617. End Proc
  618. Procedure GROUND3_DEMO
  619.    Load "Ground/Ground3.Abk"
  620.    SETUP
  621.    For B=1 To 8
  622.       Bob B,B*32,100,1
  623.       Amal B,"Anim 4,(1,10)(2,10)(3,10)(4,10)(5,10)(4,10)(3,10)(2,10)"
  624.    Next B
  625.    Amal On 
  626.    Wait 360
  627.    SETDOWN
  628. End Proc
  629. Procedure GROUND4_DEMO
  630.    Load "Ground/Ground4.Abk"
  631.    SETUP
  632.    For B=1 To 8
  633.       Bob B,B*32,100,1
  634.       Amal B,"Anim 0,(1,30)(2,3)(3,3)(4,3)"
  635.    Next B
  636.    Amal On 
  637.    Wait 170
  638.    SETDOWN
  639. End Proc
  640. Procedure GROUND5_DEMO
  641.    Load "Ground/Ground5.Abk"
  642.    SETUP
  643.    For B=1 To 8
  644.       Bob B,B*32,100,1
  645.       Amal B,"Anim 0,(1,45)(2,2)(3,2)(4,2)(3,3)(2,5)(5,5)(6,5)"
  646.    Next B
  647.    Amal On 
  648.    Wait 290
  649.    SETDOWN
  650. End Proc
  651. Rem ---------------------------  
  652. Rem ---- * Space Options * ----  
  653. Rem ---------------------------
  654. Procedure SHIP1_DEMO
  655.    Load "Space/Ship1.Abk"
  656.    SETUP
  657.    Bob 1,150,232,13
  658.    AM$="Anim 0,(1,5)(2,5) ; Move 0,-140,140"
  659.    AM$=AM$+"Anim 0,(5,5)(6,5) ; Move -60,0,60"
  660.    AM$=AM$+"Anim 0,(3,5)(4,5) ; Move 60,0,60"
  661.    AM$=AM$+"Anim 0,(1,5)(2,5) ; Move 0,-140,140"
  662.    Amal 1,AM$
  663.    Amal On 
  664.    While Chanmv(1) : Wend 
  665.    SETDOWN
  666. End Proc
  667. Procedure SHIP2_DEMO
  668.    Load "Space/Ship2.Abk"
  669.    SETUP
  670.    Bob 1,150,200,2
  671.    Bob 2,150,225,4
  672.    AM1$="Move 0,-250,250 "
  673.    AM2$="Anim 0,(4,5)(5,5)(6,5) Pause"
  674.    AM2$=AM2$+"Move 0,-250,250 "
  675.    Amal 1,AM1$
  676.    Amal 2,AM2$
  677.    Amal On 
  678.    While Chanmv(2) : Wend 
  679.    SETDOWN
  680. End Proc
  681. Procedure SHIP3_DEMO
  682.    Load "Space/Ship3.Abk"
  683.    SETUP
  684.    Bob 1,-48,160,1
  685.    AM$=AM$+" Anim 0,(1,5)(2,5)(3,5)(4,5) ; Pause"
  686.    AM$=AM$+" Move 100,0,50 ; Move 100,-50,50 "
  687.    AM$=AM$+" Anim 1,(9,5)(10,5)(11,5)(12,5)(13,5)(14,5)(15,5) Pause"
  688.    AM$=AM$+" For R0=1 To 10 ; Pause ; Next R0 "
  689.    AM$=AM$+" Anim 1,(16,5)(17,5)(18,5)(19,5)(20,5)"
  690.    AM$=AM$+" (21,5)(22,5)(23,5)(24,5)(25,5)(26,5)"
  691.    Amal 1,AM$
  692.    Amal On 
  693.    Wait 200
  694.    SETDOWN
  695. End Proc
  696. Procedure XPLOSION_DEMO
  697.    Load "Space/Xplosion.Abk"
  698.    SETUP
  699.    For X=1 To 8
  700.       Bob 1,Rnd(220)+40,Rnd(120)+40,1
  701.       Amal 1,"Anim 1,(1,3)(2,3)(3,3)(4,3)(5,3)(6,3)(7,3)(8,3)(9,3)(10,3)(11,3)(12,3)(13,3)(14,3)(15,3)"
  702.       Amal On 
  703.       Wait 46
  704.    Next X
  705.    Bob Off 
  706.    Wait 10
  707.    SETDOWN
  708. End Proc
  709. Rem -----------------------------  
  710. Rem ---- * Vehicle Options * ----
  711. Rem -----------------------------
  712. Procedure BICYCLE_DEMO
  713.    Load "Vehicle/Bicycle.Abk"
  714.    SETUP
  715.    For B=1 To 4
  716.       Bob B,-16,B*40,1
  717.       Amal B,"Anim 0,(1,5)(2,5)(3,5)(4,5)(5,5)(6,5)(7,5)(8,5) ; Move 340,0,170"
  718.    Next B
  719.    Amal On 
  720.    While Chanmv(4) : Wend 
  721.    SETDOWN
  722. End Proc
  723. Procedure LORRIES_DEMO
  724.    Load "Vehicle/Lorries.Abk"
  725.    SETUP
  726.    Autoback 0
  727.    For S=1 To 12
  728.       Cls 0
  729.       For Y=1 To 3
  730.          For X=1 To 4
  731.             Paste Bob X*80-65,Y*50-10,S
  732.          Next X
  733.       Next Y
  734.       Screen Swap 
  735.       Wait 100
  736.    Next S
  737.    Autoback 2
  738.    SETDOWN
  739. End Proc
  740. Procedure SCOOTER_DEMO
  741.    Load "Vehicle/Scooter.Abk"
  742.    SETUP
  743.    For B=1 To 4
  744.       Bob B,-48,B*40,1
  745.       Amal B,"Anim 0,(1,5)(2,5)(3,5)(4,5)(5,5) ; Move 384,0,192"
  746.       Amal On B
  747.    Next B
  748.    While Chanmv(4) : Wend 
  749.    SETDOWN
  750. End Proc
  751. Procedure PORSCHE_DEMO
  752.    Load "Vehicle/Porsche.Abk"
  753.    SETUP
  754.    Autoback 0
  755.    For Y=1 To 3
  756.       For X=1 To 4
  757.          Paste Bob X*80-65,Y*50-10,1
  758.       Next X
  759.    Next Y
  760.    Screen Swap 
  761.    Wait 100
  762.    Autoback 2
  763.    SETDOWN
  764. End Proc
  765. Procedure SKATEBOARD_DEMO
  766.    Load "Vehicle/Skatebrd.Abk"
  767.    SETUP
  768.    AM$="Anim 0,(5,20)(6,30)(7,5)(8,5)(9,5)(10,5)"
  769.    AM$=AM$+"(11,5)(12,5)(13,5)(14,5)(15,5) ;"
  770.    AM$=AM$+"B: Move 20,0,10 ; Move 20,0,10 ; Move 50,0,25 ; Jump B"
  771.    For B=1 To 4
  772.       Bob B,-32,B*40,1
  773.       Amal B,AM$
  774.    Next B
  775.    Amal On 
  776.    While X Bob(4)<320 : Wend 
  777.    SETDOWN
  778. End Proc
  779. Procedure SUPERBIKE_DEMO
  780.    Load "Vehicle/Superbik.Abk"
  781.    SETUP
  782.    Bob 1,100,80,11
  783.    Bob 2,200,80,12
  784.    AM1$="Anim 5,(11,5)(10,5)(9,5)(8,5)(7,5)(6,5)(5,5)(4,5)(3,5)(2,5)(1,25)"
  785.    AM2$="Anim 5,(12,5)(13,5)(14,5)(15,5)(16,5)(17,5)(18,5)(19,5)(20,5)(21,30)"
  786.    Amal 1,AM1$
  787.    Amal 2,AM2$
  788.    Amal On 1
  789.    Amal On 2
  790.    Wait 305
  791.    Amal Off 
  792.    Wait 20
  793.    SETDOWN
  794. End Proc
  795. Procedure TRIALS_DEMO
  796.    Load "Vehicle/Trials.Abk"
  797.    SETUP
  798.    For B=1 To 8
  799.       Bob B,B*32,100,1
  800.       Amal B,"Anim 4,(1,25)(2,5)(3,5)(4,5)(5,5)(6,5)(7,25)(6,5)(5,5)(4,5)(3,5)(2,5)"
  801.    Next B
  802.    Amal On 
  803.    Wait 410
  804.    SETDOWN
  805. End Proc
  806. Rem ---------------------------  
  807. Rem ---- * Water Options * ----
  808. Rem ---------------------------
  809. Procedure BATTLESHIPS_DEMO
  810.    Load "Water/Batleshp.Abk"
  811.    SETUP
  812.    For B=1 To 4
  813.       Bob B,-48,B*50-30,B
  814.       Amal B,"Move 370,0,370"
  815.    Next B
  816.    Amal On 
  817.    While Chanmv(4) : Wend 
  818.    SETDOWN
  819. End Proc
  820. Procedure CLAM_DEMO
  821.    Load "Water/Clam.Abk"
  822.    SETUP
  823.    For B=1 To 4
  824.       Bob B,B*50,100,1
  825.       Amal B,"Anim 4,(1,25)(2,5)(3,5)(4,5)(5,15)(6,15)(5,15)(6,15)(4,5)(3,5)(2,5)(1,5)"
  826.    Next B
  827.    Amal On 
  828.    Wait 500
  829.    SETDOWN
  830. End Proc
  831. Procedure FISH_DEMO
  832.    Load "Water/Fish.Abk"
  833.    SETUP
  834.    For B=1 To 4
  835.       Bob B,(B*32)+320,90,1
  836.       Amal B,"Anim 0,(1,5)(2,5)(3,5)(4,5)(5,5)(4,5)(3,5)(2,5) ; Move -480,0,240"
  837.    Next B
  838.    Amal On 
  839.    While Chanmv(4) : Wend 
  840.    SETDOWN
  841. End Proc
  842. Procedure MERMAID_DEMO
  843.    Load "Water/Mermaid.Abk"
  844.    SETUP
  845.    For B=1 To 4
  846.       Bob B,B*50,90,1
  847.       Amal B,"Anim 4,(1,5)(2,5)(3,5)(2,5)"
  848.    Next B
  849.    Amal On 
  850.    Wait 200
  851.    SETDOWN
  852. End Proc
  853. Procedure SHARK_DEMO
  854.    Load "Water/Shark.Abk"
  855.    SETUP
  856.    For B=1 To 4
  857.       Bob B,320,B*40,1
  858.       Amal B,"Anim 0,(1,5)(2,5)(3,5)(4,5)(5,5)(4,5)(3,5)(2,5) ; Move -380,0,380"
  859.    Next B
  860.    Amal On 
  861.    While Chanmv(4) : Wend 
  862.    SETDOWN
  863. End Proc
  864. Procedure SUBMARINE_DEMO
  865.    Load "Water/Submarin.Abk"
  866.    SETUP
  867.    Bob 4,370,137,1
  868.    Bob 5,320,140,1
  869.    Amal 4,"Anim 0,(2,5)(3,5)(4,5)(5,5) ; Move -400,0,400"
  870.    Amal 5,"Move -370,0,370"
  871.    For B=1 To 3
  872.       Bob B,-50,B*30,B+5
  873.       Amal B,"Move 370,0,370"
  874.    Next B
  875.    Amal On 
  876.    While Chanmv(4) : Wend 
  877.    SETDOWN
  878. End Proc
  879. Procedure WHALE_DEMO
  880.    Load "Water/Whale.Abk"
  881.    SETUP
  882.    AM$="Anim 4,(1,5)(2,5)(3,5)(4,5)(5,5)(6,5)(7,5)"
  883.    AM$=AM$+"(8,5)(9,5)(10,5)(11,5)(12,5)(13,5)"
  884.    For B=1 To 4
  885.       Bob B,128,B*32,1
  886.       Amal B,AM$
  887.    Next B
  888.    Amal On 
  889.    Wait 280
  890.    SETDOWN
  891. End Proc
  892. Rem ------------------------------ 
  893. Rem ---- * Service Routines * ---- 
  894. Rem ------------------------------ 
  895. Procedure INIT
  896.    Screen To Front 1
  897.    Screen Close 0
  898.    On Menu On 
  899.    Menu On 
  900.    Show On 
  901. End Proc
  902. Procedure SETUP
  903.    If DEMO=0
  904.       Screen Open 0,320,200,16,Lowres
  905.       Flash Off 
  906.       Curs Off 
  907.       Cls 0
  908.       Double Buffer 
  909.    End If 
  910.    Flash Off 
  911.    Curs Off 
  912.    Screen Hide 0
  913.    Menu Off 
  914.    Hide On 
  915.    Screen 0
  916.    Get Sprite Palette 
  917.    Colour 0,$0
  918.    Cls 0
  919.    Screen Show 0
  920. End Proc
  921. Procedure SETDOWN
  922.    Amal Off 
  923.    Anim Off 
  924.    Move Off 
  925.    Bob Off 
  926.    Sprite Off 
  927.    Erase 1
  928. End Proc
  929. Procedure SETCHAN
  930.    For C=1 To 8
  931.       Channel C To Bob C
  932.    Next C
  933. End Proc
  934. Procedure DISPLAY_PROMPT
  935.    Centre At(,10)+Border$("Click right mouse button to display menu",1)
  936. End Proc
  937. Procedure CREATE_MENU
  938.    Rem ---------------------------------------- 
  939.    Rem ---- * Initia;lise Menu Structure * ---- 
  940.    Rem ---------------------------------------- 
  941.    For HEAD=1 To 8
  942.       Read HEAD$
  943.       Menu$(HEAD)=HEAD$
  944.       Read ITEMS
  945.       For ITEM=1 To ITEMS
  946.          Read ITEM$
  947.          Menu$(HEAD,ITEM)=ITEM$
  948.       Next ITEM
  949.    Next HEAD
  950.    Menu$(1,1)=," By Abdul Malik Kalim "
  951.    Menu$(1,2)=," Thank You            "
  952.    Menu$(1,4)=," Back to the editor   "
  953.    For L=1 To 8
  954.       Menu Static L
  955.    Next L
  956.    Menu$(1,3,1)=" Mandarin Software      "," Join the AMOS Club "
  957.    Menu$(1,3,2)=" The Team               "," We're freelence    "
  958.    CREDITS1
  959.    CREDITS2
  960.    Pop Proc
  961.    Rem ------------------------------ 
  962.    Rem ---- * MENU INFORMATION * ---- 
  963.    Rem ------------------------------ 
  964.    Data " Information! ",4
  965.    Data " Sprite 600 Demo      "," Read Me              "
  966.    Data " Credits              "," Quit                 "
  967.    Rem ------------------------------------ 
  968.    Data " Aliens ",18
  969.    Data " Alien 1     "," Alien 2     "," Alien 3     "," Alien 4     "
  970.    Data " Alien 5     "," Alien 6     "," Alien 7     "," Alien 8     "
  971.    Data " Alien 9     "," Alien 9B    "," Alien 10    "
  972.    Data " Monster 1   "," Monster 2   "," Monster 3   "," Monster 4   "
  973.    Data " Slimester   "," Small Droid "," Egg Timer   "
  974.    Rem ------------------------------ 
  975.    Data " Fantasy ",3
  976.    Data " Dragon  "," Fantasy "," Mario   "
  977.    Rem -------------------------- 
  978.    Data " Flight ",10
  979.    Data " Airballoon       "," Airship          "," Biplane          "," Handglider       "
  980.    Data " Helicopters      "," Jetplanes        "," Planes           "," Private plane    "
  981.    Data " Seaplane         "," Spitfire         "
  982.    Rem -------------------------
  983.    Data " Ground ",5
  984.    Data " Ground 1 "," Ground 2 "," Ground 3 "," Ground 4 "," Ground 5 "
  985.    Rem ---------------------------- 
  986.    Data " Space ",4
  987.    Data " Ship 1    "," Ship 2    "," Ship 3    "," Explosion "
  988.    Rem ---------------------------------- 
  989.    Data " Vehicle ",7
  990.    Data " Bicycle    "," Lorries    "," Porsche    "," Scooter    "
  991.    Data " Skateboard "," Superbike  "," Trials     "
  992.    Rem ---------------------------------
  993.    Data " Water ",7
  994.    Data " Battleships "," Clam        "," Fish        "," Mermaid     "
  995.    Data " Shark       "," Submarines  "," Whale       "
  996.    Rem -------------------------------
  997. End Proc
  998. Procedure CREDITS1
  999.    Rem ---------------------------------------  
  1000.    Rem ---- * Mandarin Software Credits * ----
  1001.    Rem ---------------------------------------
  1002.    For ITEM=1 To 4
  1003.       Read ITEM1$,ITEM2$
  1004.       Menu$(1,3,1,ITEM)=ITEM1$,ITEM2$
  1005.    Next ITEM
  1006.    Data " Richard Vanner      "," Development Manager "
  1007.    Data " Francois Lionet     "," Programmer of AMOS  "
  1008.    Data " Stephen Hill        "," AMOS Manual Author  "
  1009.    Data " David McLachlan     "," Graphics Artist     "
  1010. End Proc
  1011. Procedure CREDITS2
  1012.    Rem ------------------------------ 
  1013.    Rem ---- * The Team Credits * ---- 
  1014.    Rem ------------------------------ 
  1015.    For ITEM=1 To 4
  1016.       Read ITEM1$,ITEM2$
  1017.       Menu$(1,3,2,ITEM)=ITEM1$,ITEM2$
  1018.    Next ITEM
  1019.    Data " Abdul Kalim     "," Programmer      "
  1020.    Data " Peter Hickman   "," Programmer      "
  1021.    Data " Michael Hickman "," Moral Support   "
  1022.    Data " Colin White     "," Graphics Artist "
  1023. End Proc