home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 251-275 / apd272 / mym / mym.amosSourceCode < prev    next >
AMOS Source Code  |  1994-01-01  |  7KB  |  288 lines

  1. Screen Open 0,320,250,4,Lowres
  2. Flash Off 
  3. Curs Off 
  4. Hide On 
  5. Cls 0
  6. Music 1
  7. '
  8. SETUP
  9. MAIN_LOOP
  10. '
  11. Procedure SETUP
  12.    Unpack 6 To 0
  13.    Get Sprite Palette 
  14.    Screen Hide 0
  15.    For C=0 To 7
  16.       Colour C,$0
  17.    Next C
  18.    Screen Show 0
  19.    Double Buffer 
  20.    Limit Mouse 0,0 To 640,300
  21.    Fade 2,$0,$FFF,$C66,$F00,$AF,$5F,$F,$76 : Wait 30
  22. End Proc
  23. Procedure MAIN_LOOP
  24.    PAT_NUM=8
  25.    SET_CHANNELS
  26.    CHANGE_PATTERN[PAT_NUM]
  27.    Repeat 
  28.       If Mouse Key=2
  29.          Repeat 
  30.             Synchro On 
  31.             Wait Vbl 
  32.          Until Mouse Key=0
  33.          Bob Off 
  34.          Inc PAT_NUM
  35.          If PAT_NUM>8
  36.             PAT_NUM=1
  37.          End If 
  38.          SET_CHANNELS
  39.          CHANGE_PATTERN[PAT_NUM]
  40.       End If 
  41.       Synchro On 
  42.       Wait Vbl 
  43.    Until Mouse Key=1
  44.    Amal Off 
  45.    Bob Off 
  46.    Colour 0,$FFF
  47.    Cls 1
  48.    Fade 2 : Wait 30
  49.    For V=63 To 0 Step -1
  50.       Mvolume V
  51.       Wait 2
  52.    Next V
  53. End Proc
  54. Procedure CHANGE_PATTERN[PAT_NUM]
  55.    On PAT_NUM Proc _LOGO1,_LOGO2,SQUARE,TRIANGLE,_LOGO3D,_LOGO3,SQUARE2,DISK
  56. End Proc
  57. Procedure SET_CHANNELS
  58.    Amal Off 
  59.    For B=0 To 63
  60.       Bob B,330,100,0
  61.    Next B
  62.    Synchro Off 
  63.    X Mouse=X Hard(160)
  64.    Y Mouse=Y Hard(125)
  65. End Proc
  66. '  
  67. Procedure _LOGO1
  68.    Synchro Off 
  69.    For Y=0 To 41
  70.       Bob Y+1,113,75+Y,50+Y
  71.       Wait Vbl 
  72.    Next Y
  73.    For B=1 To 42
  74.       A$="L: Let R0=XS(0,XM) ; Let R1=XS(0,YM) ;"
  75.       A$=A$+"M R0-X,R1-Y+"+Str$(B)+","+Str$(B)+";J L "
  76.       Channel B To Bob B
  77.       Amal B,A$
  78.       Amal On B
  79.    Next B
  80.    A$=""
  81.    B=0
  82. End Proc
  83. Procedure _LOGO2
  84.    Synchro Off 
  85.    For B=0 To 9
  86.       Bob B,-75,110,1
  87.       Channel B To Bob B
  88.       Amal B,"L: M XS(0,XM)-X,XS(0,YM)-Y,"+Str$(B)+" ; J L"
  89.    Next B
  90.    For B=10 To 19
  91.       Bob B,140,-75,3
  92.       Channel B To Bob B
  93.       Amal B,"L: M XS(0,XM)-X+28,XS(0,YM)-Y,"+Str$(B)+" ; J L"
  94.    Next B
  95.    For B=20 To 29
  96.       Bob B,350,105,2
  97.       Channel B To Bob B
  98.       Amal B,"L: M XS(0,XM)-X+20,XS(0,YM)-Y-5,"+Str$(B)+" ; J L"
  99.    Next B
  100.    Amal On 
  101.    B=0
  102. End Proc
  103. Procedure SQUARE
  104.    Dim A$(5),IMAGE(5)
  105.    A$(0)="L: M XS(0,XM)-X-10,YS(0,YM)-Y+20,10 ; J L"
  106.    A$(1)="L: M XS(0,XM)-X,YS(0,YM)-Y,20 ; J L"
  107.    A$(2)="L: M XS(0,XM)-X-10,YS(0,YM)-Y,30 ; J L"
  108.    A$(3)="L: M XS(0,XM)-X+10,YS(0,YM)-Y,40 ; J L"
  109.    A$(4)="L: M XS(0,XM)-X-10,YS(0,YM)-Y,50 ; J L"
  110.    A$(5)="L: M XS(0,XM)-X-10,YS(0,YM)-Y+10,60 ; J L"
  111.    IMAGE(0)=9
  112.    IMAGE(1)=5
  113.    IMAGE(2)=6
  114.    IMAGE(3)=7
  115.    IMAGE(4)=8
  116.    IMAGE(5)=4
  117.    Synchro Off 
  118.    For B=0 To 5
  119.       Bob B,140,300,IMAGE(B)
  120.       Channel B To Bob B
  121.       Amal B,A$(B)
  122.    Next B
  123.    Amal On 
  124.    For C=0 To 5
  125.       IMAGE(C)=0
  126.       A$(C)=""
  127.    Next C
  128.    B=0
  129. End Proc
  130. Procedure TRIANGLE
  131.    Dim A1$(4),IMAGE(4)
  132.    A1$(0)="L: M XS(0,XM)-X-10,YS(0,YM)-Y+20,10 ; J L"
  133.    A1$(1)="L: M XS(0,XM)-X-10,YS(0,YM)-Y+10,20 ; J L"
  134.    A1$(2)="L: M XS(0,XM)-X,YS(0,YM)-Y+10,30 ; J L"
  135.    A1$(3)="L: M XS(0,XM)-X,YS(0,YM)-Y+10,40 ; J L"
  136.    A1$(4)="L: M XS(0,XM)-X-10,YS(0,YM)-Y+10,50 ; J L"
  137.    IMAGE(0)=14
  138.    IMAGE(1)=11
  139.    IMAGE(2)=13
  140.    IMAGE(3)=12
  141.    IMAGE(4)=10
  142.    Synchro Off 
  143.    For B=1 To 5
  144.       Bob B,-75,-75,IMAGE(B-1)
  145.       Channel B To Bob B
  146.       Amal B,A1$(B-1)
  147.    Next B
  148.    Amal On 
  149.    For C=0 To 4
  150.       IMAGE(C)=0
  151.       A1$(C)=""
  152.    Next C
  153.    B=0
  154. End Proc
  155. Procedure _LOGO3D
  156.    Dim A$(9),IMAGE(9)
  157.    A$(0)="L: M XS(0,XM)-X,YS(0,YM)-Y,2 ; J L"
  158.    A$(1)="L: M XS(0,XM)-X-5,YS(0,YM)-Y,4 ; J L"
  159.    A$(2)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+10,6 ; J L"
  160.    A$(3)="L: M XS(0,XM)-X-5,YS(0,YM)-Y+30,8 ; J L"
  161.    A$(4)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+20,10 ; J L"
  162.    A$(5)="L: M XS(0,XM)-X+15,YS(0,YM)-Y+20,12 ; J L"
  163.    A$(6)="L: M XS(0,XM)-X-5,YS(0,YM)-Y,14 ; J L"
  164.    A$(7)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+10,16 ; J L"
  165.    A$(8)="L: M XS(0,XM)-X+15,YS(0,YM)-Y,18 ; J L"
  166.    A$(9)="L: M XS(0,XM)-X-5,YS(0,YM)-Y+5,20 ; J L"
  167.    IMAGE(0)=17
  168.    IMAGE(1)=15
  169.    IMAGE(2)=18
  170.    IMAGE(3)=22
  171.    IMAGE(4)=23
  172.    IMAGE(5)=19
  173.    IMAGE(6)=21
  174.    IMAGE(7)=23
  175.    IMAGE(8)=19
  176.    IMAGE(9)=16
  177.    Synchro Off 
  178.    For B=0 To 9
  179.       Bob B,330,300,IMAGE(B)
  180.       Channel B To Bob B
  181.       Amal B,A$(B)
  182.    Next B
  183.    Amal On 
  184.    For C=0 To 9
  185.       IMAGE(C)=0
  186.       A$(C)=""
  187.    Next C
  188.    B=0
  189. End Proc
  190. Procedure _LOGO3
  191.    B1=25
  192.    Synchro Off 
  193.    For B=0 To 25
  194.       Bob B,-50,300,25
  195.       Channel B To Bob B
  196.       Amal B,"L: M XS(0,XM)-X,XS(0,YM)-Y,"+Str$(B1*3)+" ; J L"
  197.       Dec B1
  198.    Next B
  199.    Amal On 
  200.    B=0
  201.    B1=0
  202. End Proc
  203. Procedure SQUARE2
  204.    Dim A$(9),IMAGE(9)
  205.    A$(0)="L: M XS(0,XM)-X,YS(0,YM)-Y,2 ; J L"
  206.    A$(1)="L: M XS(0,XM)-X-5,YS(0,YM)-Y+30,4 ; J L"
  207.    A$(2)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+10,6 ; J L"
  208.    A$(3)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+20,8 ; J L"
  209.    A$(4)="L: M XS(0,XM)-X+15,YS(0,YM)-Y+10,10 ; J L"
  210.    A$(5)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+10,12 ; J L"
  211.    A$(6)="L: M XS(0,XM)-X-5,YS(0,YM)-Y,14 ; J L"
  212.    A$(7)="L: M XS(0,XM)-X+25,YS(0,YM)-Y,16 ; J L"
  213.    A$(8)="L: M XS(0,XM)-X-5,YS(0,YM)-Y,18 ; J L"
  214.    A$(9)="L: M XS(0,XM)-X-5,YS(0,YM)-Y+5,20 ; J L"
  215.    IMAGE(0)=27
  216.    IMAGE(1)=29
  217.    IMAGE(2)=31
  218.    IMAGE(3)=33
  219.    IMAGE(4)=30
  220.    IMAGE(5)=32
  221.    IMAGE(6)=34
  222.    IMAGE(7)=35
  223.    IMAGE(8)=28
  224.    IMAGE(9)=26
  225.    Synchro Off 
  226.    For B=0 To 9
  227.       Bob B,330,-75,IMAGE(B)
  228.       Channel B To Bob B
  229.       Amal B,A$(B)
  230.    Next B
  231.    Amal On 
  232.    For C=0 To 9
  233.       IMAGE(C)=0
  234.       A$(C)=""
  235.    Next C
  236.    B=0
  237. End Proc
  238. Procedure DISK
  239.    Dim A$(15),IMAGE(15)
  240.    A$(0)="L: M XS(0,XM)-X,YS(0,YM)-Y,1 ; J L"
  241.    A$(1)="L: M XS(0,XM)-X-5,YS(0,YM)-Y,2 ; J L"
  242.    A$(2)="L: M XS(0,XM)-X-5,YS(0,YM)-Y+75,3 ; J L"
  243.    A$(3)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+25,4 ; J L"
  244.    A$(4)="L: M XS(0,XM)-X+5,YS(0,YM)-Y,5 ; J L"
  245.    A$(5)="L: M XS(0,XM)-X+55,YS(0,YM)-Y,6 ; J L"
  246.    A$(6)="L: M XS(0,XM)-X-5,YS(0,YM)-Y,7 ; J L"
  247.    A$(7)="L: M XS(0,XM)-X+55,YS(0,YM)-Y,8 ; J L"
  248.    A$(8)="L: M XS(0,XM)-X+65,YS(0,YM)-Y,9 ; J L"
  249.    A$(9)="L: M XS(0,XM)-X+50,YS(0,YM)-Y,10 ; J L"
  250.    A$(10)="L: M XS(0,XM)-X+35,YS(0,YM)-Y,11 ; J L"
  251.    A$(11)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+5,12 ; J L"
  252.    A$(12)="L: M XS(0,XM)-X+5,YS(0,YM)-Y,13 ; J L"
  253.    A$(13)="L: M XS(0,XM)-X-5,YS(0,YM)-Y+5,14 ; J L"
  254.    A$(14)="L: M XS(0,XM)-X+34,YS(0,YM)-Y+8,15 ; J L"
  255.    A$(15)="L: M XS(0,XM)-X+5,YS(0,YM)-Y+35,16 ; J L"
  256.    IMAGE(0)=37
  257.    IMAGE(1)=39
  258.    IMAGE(2)=40
  259.    IMAGE(3)=41
  260.    IMAGE(4)=43
  261.    IMAGE(5)=44
  262.    IMAGE(6)=45
  263.    IMAGE(7)=46
  264.    IMAGE(8)=38
  265.    IMAGE(9)=43
  266.    IMAGE(10)=43
  267.    IMAGE(11)=48
  268.    IMAGE(12)=42
  269.    IMAGE(13)=36
  270.    IMAGE(14)=49
  271.    IMAGE(15)=47
  272.    Synchro Off 
  273.    For B=1 To 15
  274.       Bob B,330,110,IMAGE(B)
  275.       Channel B To Bob B
  276.       Amal B,A$(B)
  277.       Amal On B
  278.    Next B
  279.    Bob 0,250,250,IMAGE(0)
  280.    Channel 0 To Bob 0
  281.    Amal 0,A$(0)
  282.    Amal On 0
  283.    For C=0 To 15
  284.       IMAGE(C)=0
  285.       A$(C)=""
  286.    Next C
  287.    B=0
  288. End Proc