home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / demos / demo6.amos / demo6.amosSourceCode < prev    next >
AMOS Source Code  |  1991-02-11  |  3KB  |  137 lines

  1. Load "Robots:Music/Music1"
  2. Led Off 
  3. Volume 0
  4. Music 1
  5. For N=0 To 63
  6.    Volume N : Wait 5
  7. Next N
  8. Screen Open 0,450,512,8,Lowres
  9. Flash Off : Hide : Curs Off 
  10. Palette 0,$200,$400,$600,$800,$B00,$D00,$F00,$20,$40,$60,$80,$B0,$D0,$F0,$1F0
  11. Screen Open 1,450,512,8,Lowres
  12. Screen Display 0,140,30,,
  13. Screen Display 1,140,30,,
  14. Wait Vbl 
  15. Dual Playfield 0,1
  16. Cls 0
  17. Screen 0
  18. Gosub GROUND
  19. '
  20. Screen 1
  21. Gosub VAN
  22. '
  23. A$="Loop: For R0=1 To 45; Let X=X+1; Next R0;"
  24. A$=A$+"For R0=1 To 45; Let X=X-1; Next R0; Jump Loop"
  25. B$="Loop:M 0,-90,90;M 0,90,90:Jump Loop"
  26. C$="Loop: For R0=1 To 45; Let X=X-1; Next R0;"
  27. C$=C$+"For R0=1 To 45; Let X=X+1; Next R0; Jump Loop"
  28. E$="Loop:M 0,-140,140;M 0,140,140:Jump Loop"
  29. Channel 6 To Screen Offset 0
  30. Channel 7 To Screen Display 0
  31. Channel 8 To Screen Offset 1
  32. Channel 9 To Screen Display 1
  33. Amal 6,A$
  34. Amal 7,B$
  35. Amal 8,C$
  36. Amal 9,E$
  37. '
  38. Goto ROO
  39. '
  40. GROUND:
  41. Ink 0 : Bar 0,0 To 640,512
  42. Unpack 10 To 2
  43. Screen Copy 2,0,0,320,512 To 0,0,0 : Screen Close 2
  44. Unpack 11 To 2
  45. Screen Copy 2,0,0,320,512 To 0,320,0 : Screen Close 2
  46. Screen 0 : Palette 0,$200,$400,$600,$800,$B00,$D00,$F00,$20,$40,$60,$80,$B0,$D0,$F0,$1F0
  47. Return 
  48. '
  49. VAN:
  50. Ink 0 : Bar 0,0 To 640,512
  51. Unpack 10 To 2
  52. Screen Copy 2,0,0,320,512 To 1,0,0 : Screen Close 2
  53. Unpack 11 To 2
  54. Screen Copy 2,0,0,320,512 To 1,320,0 : Screen Close 2
  55. Return 
  56. '
  57. ROO:
  58. '
  59. INITVU
  60. Procedure INITVU
  61.    Screen Open 5,320,256,2,Lowres : Curs Off : Palette $0,0
  62.    Screen To Back 5
  63.    Screen 5
  64.    For I=1 To 4
  65.       Set Rainbow I-1,0,256,"","",""
  66.       '
  67.       B=15
  68.       For L=0 To 16*15 Step 16
  69.          If I=1 Then MBOW[L,B,I-1,256,0,0]
  70.          If I=2 Then MBOW[L,B,I-1,0,16,0]
  71.          If I=3 Then MBOW[L,B,I-1,0,16,1]
  72.          If I=4 Then MBOW[L,B,I-1,0,0,1]
  73.          Dec B
  74.       Next L
  75.       '
  76.       D$="          L R1=0 ; "
  77.       D$=D$+"Loop : Pause ; "
  78.       D$=D$+"       Let R0=V("+Str$(I-1)+") ; "
  79.       D$=D$+"       I R2>0 Jump Q else L R2=0 ; "
  80.       D$=D$+"    Q: I R2<30 Jump K else L R2=30 ; L R1=0 ; "
  81.       D$=D$+"    K: L R"+Chr$(I+64)+"=30-R2 ; L R3=R2/1 ; L X=R3*16 ; "
  82.       D$=D$+"       I R2=30 Jump Play            ; "
  83.       D$=D$+"       L R2=R2-R1                     ; "
  84.       D$=D$+" Play: If R1<-2 Jump Miss else L R1=R1-1 ; "
  85.       D$=D$+" Miss: I R0=0 Jump Loop                   ; "
  86.       D$=D$+"       L R1=6 ; L R2=R2-1                   ; "
  87.       D$=D$+"       Jump Loop ; "
  88.       Channel I To Rainbow I-1
  89.       Amal I,D$
  90.    Next I
  91.    Rainbow 0,0,80,16
  92.    Rainbow 1,0,160,16
  93.    Rainbow 3,0,240,16
  94.    Amal On 0 : Amal On 1 : Amal On 3
  95.    Wait 10
  96.    Amal On 
  97. End Proc
  98. '
  99. Procedure MBOW[L,X,N,R,G,B]
  100.    L1=L+7
  101.    For I=X To 0 Step -2
  102.       Rain(N,L1)=I*R+I*G+I*B
  103.       Dec L1
  104.    Next I
  105.    L1=L+8
  106.    For I=X To 0 Step -2
  107.       Rain(N,L1)=I*R+I*G+I*B
  108.       Inc L1
  109.    Next I
  110. End Proc
  111. '
  112. Do 
  113.    Dual Priority 0,1
  114.    For T=1 To 20
  115.       Wait T
  116.       If Mouse Key=1 Then PAUL
  117.    Next T
  118.    Dual Priority 1,0
  119.    For T=1 To 20
  120.       Wait T
  121.       If Mouse Key=1 Then PAUL
  122.    Next T
  123. Loop 
  124. '
  125. Procedure PAUL
  126.    For V=63 To 0 Step -1
  127.       Volume V : Wait 2
  128.    Next V
  129.    Music Off : Erase 3
  130.    Screen 0 : Fade 5 : Wait 75
  131.    Screen Close 0 : Screen Close 1
  132.    For R=0 To 3
  133.       Rainbow Del R
  134.    Next R
  135.    Screen Close 5
  136.    Run "Robots:Demo2.Amos"
  137. End Proc