home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 601-625 / apd617 / tony_vecqueray / wood_lep.amos / wood_lep.amosSourceCode < prev   
AMOS Source Code  |  1986-08-03  |  12KB  |  284 lines

  1. '                              Wood_Lep_Anim 
  2. '                              ------------- 
  3. 'I thought I would write a short Anim using Alan Fullerton's excellent Images
  4. '(TA12) and Tiles (TA14) which he sent from America. 
  5. 'Writing short Anim's give you idea's on Game Play and are useful to help
  6. 'improve your Programming skills.
  7. 'In Procedure M2 I have used two Bobs to Animate the Woodman and his Firing  
  8. 'the Arrow.In Procedure M6 I used one Bob to get the same effect.
  9. 'The Procedure WHEREMOUSE I find is very useful,Although I worked out the
  10. 'X and Y Dimensions on paper,I obtained a more accurate reading using
  11. 'WHEREMOUSE.I cannot Credit the Programmer as I do not remember where I
  12. 'obtained it from. 
  13. 'Hope this short Anim gives you some idea's.Amal can be Fun!!! 
  14. '                            
  15. '                                           Tony Vecqueray 
  16.  
  17. Screen Open 0,320,256,32,Lowres
  18. Curs Off : Flash Off : Hide On : Cls 0
  19. Unpack 10 To 0
  20. Get Sprite Palette : Double Buffer 
  21. MAKE_IMAGE : Rem Part of Tree   
  22. TXT : Rem Start-Exit-Info
  23. For C=0 To 13
  24.    Channel C To Bob C
  25. Next C
  26. Bob 9,100,140,51 : Bob 10,240,120,52 : Bob 11,230,200,53 : Bob 12,40,220,54
  27. Bob 13,160,230,55 : Bob 14,20,2,56 : Rem Bobs on Screen at Start
  28.  
  29. Do 
  30.    If Mouse Key Then Proc WHEREMOUSE
  31.    If Key State(64)=True : Rem Spacebar   
  32.       M1 : M2 : M1 : M3 : M1 : M4 : M1
  33.       M5 : M1 : M6 : M1 : M3 : M7 : M8
  34.       M1 : M9 : M8 : M9 : M10 : TXT
  35.       
  36.    End If 
  37.    If Key State(69)=True Then Exit : Rem Escape 
  38.    
  39. Loop 
  40. Amal Off : Under Off : Cls : Default : Edit 
  41.  
  42. Procedure M1
  43.  
  44.    Locate 0,14 : Cline : Locate 0,16 : Cline : Rem Clear Text 
  45.    Bob 0,-100,56,1 : Rem Woodman-Walk-Jump on Log 
  46.    A$="A 0,(1,20)(2,20)(3,20)(4,20)(5,20)(6,20);"
  47.    A$=A$+"Move 264,0,220;A 1,(7,20)(8,20)(9,20)(10,20)(11,20)(12,20);"
  48.    A$=A$+"Move 0,-24,12;Move 20,0,10;A 0,(1,20)(2,20)(3,20)(4,20)(5,20)(6,20);"
  49.    A$=A$+"Move 224,0,168;A 0,($8001,20)($8002,20)($8003,20)($8004,20)($8005,20)($8006,20);"
  50.    A$=A$+"Move -200,0,175;A 1,($8007,20)($8008,20)($8009,20)($8000+10,20)($8000+11,20)($8000+12,20);"
  51.    A$=A$+"Move -20,0,10;Move 0,24,12;A 0,($8001,20)($8002,20)($8003,20)($8004,20)($8005,20)($8006,20);"
  52.    A$=A$+"Move -264,0,180;"
  53.    Amal 0,A$ : Amal On 0
  54.    
  55. End Proc
  56.  
  57. Procedure M2
  58.    
  59.    Bob 2,470,146,Hrev(13) : Rem Woodman Walk 
  60.    Bob 4,378,160,25 : Rem Boar Walk
  61.    E$="A 0,($8000+25,20)($8000+26,20)($8000+27,20)($8000+28,20)($8000+29,20)($8000+30,20);"
  62.    E$=E$+"Move -424,0,320;A 6,(25,20)(26,20)(27,20)(28,20)(29,20)(30,20);"
  63.    E$=E$+"Move 400,0,300;"
  64.    Amal 4,E$ : Amal On 4
  65.    C$="A 0,($8000+13,20)($8000+14,20)($8000+15,20)($8000+16,20)($8000+17,20)($8000+18,20);"
  66.    C$=C$+"Move -548,0,411;A 1,(13,20)(14,20)(15,20)(16,20)(17,20)(18,20);"
  67.    C$=C$+"Move 120,0,90;Let A=13;"
  68.    Amal 2,C$ : Amal On 2
  69.    While Chanmv(2)=-1 : Wend : Rem Wait until Woodman Stops 
  70.    Bob Off 2 : Amal Off 2 : Rem Bob 2 off Screen-Stop Amal 2 
  71.    Bob 3,45,147,19 : Rem Woodman firing Arrow 
  72.    D$="A 4,(19,20)(20,20)(21,20)(22,20)(23,20)(24,20);"
  73.    Amal 3,D$ : Amal On 3
  74.    While Chanmv(0)=-1 : Rem Wait until Proc M1 Finished-Then Recall M1 
  75.       If I Bob(3)=24 Then ARROW : Rem If Image of Bob 3=24 Call Proc ARROW 
  76.    Wend 
  77.    Bob Off 3 : Amal Off 3 : Rem Bob 3 off Screen-Stop Amal 3 
  78.    Bob 2,45,147,13 : Rem Woodman Walk 
  79.    C1$="A 0,(13,20)(14,20)(15,20)(16,20)(17,20)(18,20);"
  80.    C1$=C1$+"Move 280,0,210;"
  81.    Amal 2,C1$ : Amal On 2
  82.    
  83. End Proc
  84.  
  85. Procedure ARROW
  86.    
  87.    Bob 5,X Bob(3)+10,Y Bob(3)+10,31 : Rem Position Arrow on Bob 3
  88.    F$="Move 320,0,80;"
  89.    Amal 5,F$ : Amal On 5
  90.    
  91. End Proc
  92.  
  93. Procedure M3
  94.    
  95.    Bob 8,-80,206,48 : Rem Frog Movement
  96.    I$="For R0=1 To 200;N R0;A 0,(45,30)(46,30)(47,30)(48,30)(49,30)(50,30);Move 450,0,339;"
  97.    I$=I$+"A 0,($8000+45,30)($8000+46,30)($8000+47,30)($8000+48,30)($8000+49,30)($8000+50,30);"
  98.    I$=I$+"Move -472,0,354;"
  99.    Amal 8,I$ : Amal On 8
  100.    
  101. End Proc
  102.  
  103. Procedure M4
  104.    
  105.    Bob 6,370,100,Hrev(32) : Rem Leprechaun Walk-On-Off-Toadstool 
  106.    G$="A 0,($8000+32,16)($8000+33,16)($8000+34,16)($8000+35,16)($8000+36,16)($8000+37,16);"
  107.    G$=G$+"Move -424,0,338;Let Y=Y+60;A 1,(32,16)(33,16)(34,16)(35,16)(36,16)(37,16);"
  108.    G$=G$+"Move 120,0,90;A 1,(38,16)(39,16)(40,16)(41,16)(42,16)(43,16)(44,16);"
  109.    G$=G$+"Move 0,-33,24;Move 80,0,60;A 1,(44,16)(44,16)(44,16);For R0=1 To 300;N R0;"
  110.    G$=G$+"Move 0,32,24;A 0,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 224,0,168;"
  111.    Amal 6,G$ : Amal On 6
  112.    Bob 9,100,140,51 : Rem Large Toadstool
  113.    J$="Move -64,0,32;For R0=1 To 100;N R0;Move 64,0,48;"
  114.    Amal 9,J$
  115.    While Chanmv(6)=-1 : Rem Wait until Leprechaun Off Screen 
  116.       If Amreg(6,0)=>290 : Rem When R0 is greater than 290-Move Toadstool 
  117.          Amal On 9
  118.       End If 
  119.    Wend 
  120.    
  121. End Proc
  122.  
  123. Procedure M5
  124.    
  125.    Bob 6,-50,220,32 : Rem Leprechaun On Log-Move with Log-Off Log
  126.    G1$="A 0,(32,20)(33,20)(34,20)(35,20)(36,20)(37,20);Move 180,0,135;"
  127.    G1$=G1$+"A 1,(38,16)(39,16)(40,16)(41,16)(42,16)(43,16)(44,16);"
  128.    G1$=G1$+"Move 0,-22,12;Move 40,0,35;For R0=1 To 300;N R0;Move 240,0,150;"
  129.    G1$=G1$+"Let X=-70;Move 260,0,195;For R0=1 To 40;N R0;"
  130.    G1$=G1$+"A 1,(38,16)(39,16)(40,16)(41,16)(42,16)(43,16)(44,16);Move 30,0,15;"
  131.    G1$=G1$+"Move 0,22,12;A 1,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 160,0,120;"
  132.    Amal 6,G1$ : Amal On 6
  133.    Bob 7,-160,214,38 : Rem Leprechaun On Log-Move with Log-Off Log
  134.    H$="A 2,(38,16)(39,16)(40,16)(41,16)(42,16)(43,16)(44,16);Move 170,0,85;"
  135.    H$=H$+"Move 0,-24,12;Move 52,0,40;For R0=1 To 300;N R0;Move 360,0,300;"
  136.    H$=H$+"Let X=-168;Move 240,0,180;For R0=1 To 20;N R0;"
  137.    H$=H$+"A 1,(38,16)(39,16)(40,16)(41,16)(42,16)(43,16)(44,16);Move 30,0,15"
  138.    H$=H$+"Move 0,24,12;A 4,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 240,0,180;"
  139.    Amal 7,H$ : Amal On 7
  140.    Bob 13,160,230,55 : Rem Log Movement 
  141.    N$="For R0=1 To 480;N R0;Move 240,0,150;Let X=-100;Move 260,0,195;"
  142.    Amal 13,N$ : Amal On 13
  143.    Bob 12,40,220,54 : Rem Log Movement 
  144.    M$="For R0=1 To 440;N R0;Move 360,0,300;Let X=-200;Move 240,0,180;"
  145.    Amal 12,M$ : Amal On 12
  146.    While Chanmv(0)=-1 : Wend : Rem Wait until Proc M1 Finished then Recall M1 
  147.    
  148. End Proc
  149.  
  150. Procedure M6
  151.    
  152.    Bob 3,-300,147,13 : Rem Woodman Walk-Firing Arrow
  153.    D1$="A 4,(13,20)(14,20)(15,20)(16,20)(17,20)(18,20);Move 320,0,240;"
  154.    D1$=D1$+"A 0,(19,20)(20,20)(21,20)(22,20)(23,20)(24,20);For R0=1 To 360;N R0;"
  155.    D1$=D1$+"A 4,(13,20)(14,20)(15,20)(16,20)(17,20)(18,20);Move 168,0,126;"
  156.    D1$=D1$+"A 0,(19,20)(20,20)(21,20)(22,20)(23,20)(24,20);For R1=1 To 360;N R1;"
  157.    D1$=D1$+"A 3,(13,20)(14,20)(15,20)(16,20)(17,20)(18,20);Move 160,0,120;"
  158.    Amal 3,D1$ : Amal On 3
  159.    Bob 4,-700,100,25 : Rem Boar Walk
  160.    E1$="A 16,(25,16)(26,16)(27,16)(28,16)(29,16)(30,16);Move 1056,0,792;"
  161.    E1$=E1$+"Let X=-280;Let Y=170;Move 624,0,468;"
  162.    Amal 4,E1$ : Amal On 4
  163.    Bob 1,-220,160,25 : Rem Boar Walk
  164.    B$="A 12,(25,10)(26,10)(27,10)(28,10)(29,10)(30,10);Move 548,0,411;"
  165.    Amal 1,B$ : Amal On 1
  166.    Bob 2,-900,112,25 : Rem Boar Walk
  167.    C2$="A 16,(25,16)(26,16)(27,16)(28,16)(29,16)(30,16);Move 1252,0,939;"
  168.    C2$=C2$+"Let X=-290;Let Y=200;Move 624,0,468;"
  169.    Amal 2,C2$ : Amal On 2
  170.    Bob 8,-290,156,25 : Rem Boar Walk
  171.    I1$="A 18,(25,10)(26,10)(27,10)(28,10)(29,10)(30,10);Move 624,0,468;"
  172.    Amal 8,I1$ : Amal On 8
  173.    While Chanmv(3)=-1 : Rem Wait until Woodman Off Screen
  174.       If I Bob(3)=24 Then ARROW : Rem If Image of Bob 3=24 call Proc ARROW 
  175.    Wend 
  176.    
  177. End Proc
  178.  
  179. Procedure M7
  180.    
  181.    Bob 9,100,140,51 : Rem Large Toadstool
  182.    J1$="For R0=1 To 4;Let A=51;Move 0,-24,12;For R1=1 To 50;N R1;Let A=$8000+51;"
  183.    J1$=J1$+"For R2=1 To 50;N R2;N R0;Let A=51;Move 0,96,48;"
  184.    Amal 9,J1$ : Amal On 9
  185.    Bob 10,240,120,52 : Rem Small Toadstool
  186.    K$="For R0=1 To 4;Let A=52;Move 0,-10,5;For R1=1 To 50;N R1;Let A=$8000+52;"
  187.    K$=K$+"For R2=1 To 50;N R2;N R0;Let A=52;Move 0,40,20;"
  188.    Amal 10,K$ : Amal On 10
  189.    Bob 11,230,200,53 : Rem Small Toadstool
  190.    L$="For R0=1 To 4;Let A=53;Move 0,-10,5;For R1=1 To 50;N R1;Let A=$8000+53;"
  191.    L$=L$+"For R2=1 To 50;N R2;N R0;Let A=53;Move 0,40,20;"
  192.    Amal 11,L$ : Amal On 11
  193.    
  194. End Proc
  195.  
  196. Procedure M8
  197.    
  198.    Bob 4,420,100,Hrev(25) : Rem Boar Walk
  199.    E2$="A 10,($8000+25,20)($8000+26,20)($8000+27,20)($8000+28,20)($8000+29,20)($8000+30,20);"
  200.    E2$=E2$+"Move -528,0,429;Let Y=130;A 5,(25,20)(26,20)(27,20)(28,20)(29,20)(30,20);"
  201.    E2$=E2$+"Move 528,0,429;"
  202.    Amal 4,E2$ : Amal On 4
  203.    Bob 6,430,96,Hrev(32) : Rem Leprechaun Walk-Jump on Boar 
  204.    G2$="A 4,($8000+32,10)($8000+33,10)($8000+34,10)($8000+35,10)($8000+36,10)($8000+37,10);"
  205.    G2$=G2$+"Move -208,0,182;A 1,($8000+38,20)($8000+39,20)($8000+38,20);"
  206.    G2$=G2$+"Move -90,-30,45;A 1,($8000+38,20)($8000+38,20);Move -198,0,150;"
  207.    G2$=G2$+"Let Y=96;Let X=-160;A 1,(38,20)(38,20);Move 528,0,429;"
  208.    Amal 6,G2$ : Amal On 6
  209.    While Chanmv(8)=-1 : Wend : Rem Wait until Frog Off Screen to use Bob 8 in Proc 9  
  210.    
  211. End Proc
  212.  
  213. Procedure M9
  214.    
  215.    Bob 1,25,4,38 : Rem Leprechaun in Tree 
  216.    B1$="Move 38,0,19;For R0=1 To 20;N R0;Let A=43;Move 0,54,27;"
  217.    B1$=B1$+"A 5,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 288,0,144;"
  218.    Amal 1,B1$ : Amal On 1
  219.    Bob 2,25,4,38 : Rem Leprechaun in Tree 
  220.    C3$="For R0=1 To 60;N R0;Move 38,0,19;For R1=1 To 20;N R1;Let A=43;"
  221.    C3$=C3$+"Move 0,54,27;A 5,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 288,0,144;"
  222.    Amal 2,C3$ : Amal On 2
  223.    Bob 3,25,4,38 : Rem Leprechaun in Tree 
  224.    D2$="For R0=1 To 120;N R0;Move 38,0,19;For R1=1 To 20;N R1;Let A=43;"
  225.    D2$=D2$+"Move 0,54,27;A 5,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 288,0,144;"
  226.    Amal 3,D2$ : Amal On 3
  227.    Bob 5,25,4,38 : Rem Leprechaun in Tree 
  228.    F1$="For R0=1 To 180;N R0;Move 38,0,19;For R1=1 To 20;N R1;Let A=43;"
  229.    F1$=F1$+"Move 0,54,27;A 5,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 288,0,144;"
  230.    Amal 5,F1$ : Amal On 5
  231.    Bob 7,25,4,38 : Rem Leprechaun in Tree 
  232.    H1$="For R0=1 To 240;N R0;Move 38,0,19;For R1=1 To 20;N R1;Let A=43;"
  233.    H1$=H1$+"Move 0,54,27;A 5,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 288,0,144;"
  234.    Amal 7,H1$ : Amal On 7
  235.    Bob 8,25,4,38 : Rem Leprechaun in Tree 
  236.    I2$="For R0=1 To 300;N R0;Move 38,0,19;For R1=1 To 20;N R1;Let A=43;"
  237.    I2$=I2$+"Move 0,54,27;A 5,(32,8)(33,8)(34,8)(35,8)(36,8)(37,8);Move 288,0,144;"
  238.    Amal 8,I2$ : Amal On 8
  239.    While Chanmv(8)=-1 : Wend : Rem  Wait until Bob 8 Off Screen then Recall Proc M9   
  240.    
  241. End Proc
  242.  
  243. Procedure M10
  244.    
  245.    Bob 0,-100,56,1 : Rem Woodman Walk Fails to Jump Log-Walks off in Disgust
  246.    A1$="A 0,(1,20)(2,20)(3,20)(4,20)(5,20)(6,20);Move 264,0,220;A 1,(7,20)(7,20)(7,20);"
  247.    A1$=A1$+"For R0=1 To 4;Move 10,-24,12;For R1=1 To 6;N R1;Move -10,24,12;"
  248.    A1$=A1$+"For R2=1 To 6;N R2;N R0;A 3,(1,20)(2,20)(3,20)(4,20)(5,20)(6,20);"
  249.    A1$=A1$+"Move 224,0,168;"
  250.    Amal 0,A1$ : Amal On 0
  251.    While Chanmv(0)=-1 : Wend : Rem Wait until Bob 0 Off Screen then call TXT  
  252.    
  253. End Proc
  254.  
  255. Procedure MAKE_IMAGE
  256.    
  257.    Get Bob 56,20,2 To 52,44 : Rem Part of Tree to Hide Leprechauns 
  258. End Proc
  259.  
  260. Procedure TXT
  261.    
  262.    Under On : Paper Point(100,130)
  263.    Locate 0,14 : Centre "Space Bar to Start"
  264.    Locate 0,16 : Centre "Escape to Exit"
  265.    
  266. End Proc
  267.  
  268. Procedure WHEREMOUSE
  269.    Rem Extremely useful while Programming Procedures
  270.    Amal Freeze 
  271.    Curs Off : Limit Mouse 
  272.    Paper Point(0,0) : Change Mouse 2 : Show On 
  273.    Repeat 
  274.       MK=Mouse Key : Locate 0,0
  275.       XM=X Screen(X Mouse) : YM=Y Screen(Y Mouse)
  276.       If MK=1
  277.          Print "Graphic X = ";XM;" Y = ";YM;Space$(6)
  278.       Else 
  279.          Print "Text X = ";X Text(XM);" Y = ";Y Text(YM);Space$(6)
  280.       End If 
  281.    Until MK=0
  282.    Hide On : Change Mouse 1 : Locate 0,0 : Print Space$(23)
  283.    Amal On 
  284. End Proc