home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / demos / intros.amos / intros.amosSourceCode < prev    next >
AMOS Source Code  |  1992-05-17  |  6KB  |  241 lines

  1. 'ASSEMBLER STYLE INTRO--KNOCK DOWN ALL THE PEOPLE THAT KNOCK AMOS!-- 
  2. 'STORM 1992...in the intro are things like 
  3. 'multi-layered parallax scrolling bobs 
  4. 'hidden rasterlines
  5. 'rasterlines that respond to music   
  6. 'a very fast sinus scroll bar
  7. 'a very small chip tune tiny!(mod.purple shades) 
  8. '7-8 sinus/cosinus spinning bobs 
  9. 'over 35 diffrent bobs on screen!!!
  10. 'a smooth opening and closing of the screen using rasterlines!.
  11. '
  12. 'okay so some are easy to implement but know one does!   
  13. 'amos can present programs stylishly so do it now add a touch of class!
  14. 'ermm... if a part of the code intrests you then use it but please 
  15. 'all i ask is that you mention me somewhere in your credits screens! 
  16. 'if you have a demo/intro that you would like put on a later disk
  17. 'then send it into me now!..(non-compiled) to the address in the docs! 
  18. 'Now run this baby!
  19. '
  20. 'starfields
  21. '
  22. '
  23. STARFIELDS
  24. Screen Close 0 : Screen Close 2
  25. Rainbow Del 2
  26. Screen 1
  27. For I=27 To 34
  28. Bob Off I
  29. Next I
  30. Rain(1,240)=0 : Rain(1,244)=0 : Rain(1,248)=0 : Rain(1,252)=0
  31. JC=227 : CTQ=63
  32. For WE=60 To 144 Step 1
  33. Add JC,-1 : Add CTQ,-1
  34. Rain(1,WE)=$909
  35. Rain(1,JC)=$909
  36. Screen Display 1,,WE-20,,
  37. Wait 2
  38. View 
  39. Rain(1,WE-1)=$0
  40. Rain(1,JC+1)=$0
  41. If CTQ>0 Then Volume CTQ
  42. Next WE
  43. Rainbow Del 1
  44. View 
  45. Screen 1
  46. Fade 8
  47. Wait 75
  48. Screen Close 1
  49. Music Off 
  50. End 
  51. Procedure STARFIELDS
  52. Screen Open 2,340,16,8,Lowres
  53. Screen Display 2,140,40,320,9
  54. Screen 2 : Paper 0 : Curs Off : Cls 0
  55. 'Break Off 
  56. Def Scroll 1,0,0 To 340,10,-8,0
  57. Screen Open 0,320,256,8,Lowres
  58. Screen Display 0,130,90,320,164
  59. Screen Hide 0
  60. Double Buffer 
  61. Curs Off : Flash Off : Cls 0 : Hide On 
  62. Dim XPOS(30),YPOS(30)
  63. Dim CTS(16)
  64. AD$="     HI THERE!!!..THIS IS STORM WELCOMING YOU TO A NEW CONCEPT"
  65. AD$=AD$+"   ---PICK n MIX @ 1992 THE IDEA OF THESE DISKS IS TO PROVIDE"
  66. AD$=AD$+" A DISK WHICH IS AIMED MORE TOWARDS THE ADVANCED AMOSERS! FOR"
  67. AD$=AD$+" FOR MORE INFO READ THE DOCS PROVIDED.... WHAT DO YOU THINK OF"
  68. AD$=AD$+" THIS COOL INTRO WRITTEN IN ONE DAY SOLLEY ON AMOS! NEAT...JUST"
  69. AD$=AD$+" LIKE THE ASSEMBLER GUYS DO IT. EVEN THE MUSIC IS CHIP MUSIC!..ANYWAY"
  70. AD$=AD$+" GOT TO GO!..HAVE FUN AND SEE YA LATER....                                RESTART  >>>>>>              "
  71. ADO=Len(AD$)
  72. Get Sprite Palette 
  73. Cls 0 : Pen 1 : Paper 0
  74. Gosub WASTE
  75. Gosub DRIP
  76. Synchro Off 
  77. 'RAYNBOWS
  78. RT=45 : WI=-1
  79. '
  80. ' BOB LAYER 1 THE BIG SPRITE 
  81. '
  82. For I=0 To 7
  83. Set Bob I,0,,
  84. Bob I,XPOS(I),YPOS(I),1
  85. Channel I To Bob I
  86. B$="Loop: F R0="+Str$(XPOS(I))+" T 320;L X=X+1 ;   N R0; L X=0; F R0=0 T "+Str$(XPOS(I))+" Let X=X+1  N R0"
  87. B$=B$+"Jump Loop"
  88. Amal I,B$
  89. Next I
  90. '
  91. ' BOB LAYER 2 THE MIDDLE SPRITE
  92. '
  93. For I=8 To 15
  94. Set Bob I,0,,
  95. Bob I,XPOS(I),YPOS(I),2
  96. Channel I To Bob I
  97. B$="Loop: F R0="+Str$(XPOS(I))+" T 320;L X=X+1 ;  P N R0; L X=0; F R0=0 T "+Str$(XPOS(I))+" Let X=X+1  P N R0"
  98. B$=B$+"Jump Loop"
  99. Amal I,B$
  100. Next I
  101. '
  102. ' BOB LAYER 3 THE SMALL SPRITE 
  103. '
  104. For I=16 To 23
  105. Set Bob I,0,,
  106. Bob I,XPOS(I),YPOS(I),3
  107. Channel I To Bob I
  108. B$="Loop: F R0="+Str$(XPOS(I))+" T 320;L X=X+1 ; P P N R0; L X=20; F R0=0 T "+Str$(XPOS(I))+" Let X=X+1 P P N R0"
  109. B$=B$+"Jump Loop"
  110. Amal I,B$
  111. Next I
  112. FRED:
  113. Amal On 
  114. Autoback 2
  115. Synchro On 
  116. RAYNB0WS
  117. View 
  118. Screen Show 0
  119. Screen 2
  120. Flash 5,"(121,4)(242,4)(464,4)(686,4)(8a8,4)(686,4)(464,4)(242,4)(121,2)(001,4)"
  121. Pen 5
  122. Screen To Front 2
  123. KLO=0 : ADX=27
  124. '
  125. 'main loop 
  126. '
  127. Do 
  128. '
  129. 'scroll and shift screen with a sinus calulation..sinch! 
  130. 'and wait vbl s to slow things down (smoother) 
  131. '
  132. Add CTS2,1
  133. Add QP,1 : Add Y,1
  134. ADO$=Mid$(AD$,QP,1)
  135. If QP=ADO Then QP=0
  136. If X=360 Then X=0
  137. Locate 39,0 : Pen 5 : Print ADO$
  138. E=70*Sin(Y*19)+120
  139. 'Wait Vbl  
  140. Screen Display 2,140,40+E,320,9
  141. Scroll 1 : 
  142. 'Wait Vbl  
  143. If Mouse Key=1 Then Pop Proc
  144. '
  145. 'check music and rainbows
  146. '
  147. DJ=Vumeter(2) : DJ2=Vumeter(1) : DJ3=Vumeter(0) : DJ4=Vumeter(3)
  148. If DJ=>1 Then Rain(1,240)=$2B : Else Rain(1,240)=4
  149. If DJ2=>1 Then Rain(1,244)=$2B : Else Rain(1,244)=4
  150. If DJ3=>1 Then Rain(1,248)=$2B : Else Rain(1,248)=4
  151. If DJ4=>1 Then Rain(1,252)=$2B : Else Rain(1,252)=4
  152. Rain(1,60)=CTS(CTS2)
  153. Rain(1,226)=CTS(CTS2)
  154. If CTS2=15 Then CTS2=0
  155. '
  156. 'rotate small bobs 
  157. '
  158. Screen 1
  159. Add KLO,1 : Add ADX,1
  160. If KLO=700 Then KLO=0
  161. If ADX=35 Then ADX=27
  162. XS=140*Sin(KLO*19)+150
  163. YS=17*Cos(KLO*19)+15
  164. Bob ADX,XS,YS,3
  165. Screen 2
  166. Loop 
  167. '
  168. ' POSITIONS FOR BOBS ON SCREEN 0 
  169. '
  170. WASTE:
  171. Restore SPRPOS
  172. For COORDS=0 To 23
  173. Read XPOS(COORDS),YPOS(COORDS)
  174. Next COORDS
  175. Return 
  176. SPRPOS:
  177. Data 0,0,32,132,148,48,218,80,263,52,310,140,78,55,190,90
  178. Data 15,15,44,130,310,140,70,50,198,89,165,77,260,110,100,99
  179. Data 0,0,32,132,148,48,218,80,263,52,310,140,78,55,190,90
  180. '
  181. DRIP:
  182. Restore C0LOURSET
  183. For PLOP=0 To 15
  184. Read CTS(PLOP)
  185. Next PLOP
  186. Return 
  187. C0LOURSET:
  188. Data $101,$404,$606,$808,$909,$A0A,$D0D,$F0F
  189. Data $F0F,$D0D,$A0A,$909,$808,$606,$404,$101
  190. End Proc
  191. Procedure RAYNB0WS
  192. Music 1 : Volume 0
  193. Screen Open 1,320,80,16,LORES
  194. Screen Display 1,130,140,640,47
  195. Double Buffer 
  196. Curs Off : Flash Off : Paper 0 : Pen 7 : Cls 0
  197. Palette $0,$FFF,$777,$222,$333,$444,$7,$5,$5
  198. Ink 1,0
  199. Locate 10,4 : Print "   pick n mix "
  200. Synchro Off 
  201. Paste Bob 100,15,11
  202. Bob 25,10,10,5
  203. Channel 25 To Bob 25
  204. Amal 25,"Anim 0,(5,4)(6,4)(7,4)(8,4)(9,4)(10,4)(9,4)(8,4)(7,4)(6,4)"
  205. Bob 26,300,10,5
  206. Channel 26 To Bob 26
  207. Amal 26,"Anim 0,(5,4)(6,4)(7,4)(8,4)(9,4)(10,4)(9,4)(8,4)(7,4)(6,4)"
  208. Synchro On 
  209. Amal On 
  210.    Set Rainbow 1,0,280,"","",""
  211.    Rainbow 1,0,0,280
  212.    For C=0 To 279
  213.       Rain(1,C)=0
  214.    Next C
  215. JC=145 : CTQ=0
  216. For WE=140 To 60 Step -1
  217. Add JC,1 : Add CTQ,1
  218. Rain(1,WE)=$909
  219. Rain(1,JC)=$909
  220. Screen Display 1,,WE-20,,
  221. View 
  222. Rain(1,WE+1)=$0
  223. Rain(1,JC-1)=$0
  224. If CTQ<63 Then Volume CTQ
  225. Next WE
  226. Set Rainbow 2,8,50,"(4,2,16)","",""
  227. Rainbow 2,50,20,50
  228. For UI=0 To 49
  229. Rain(2,UI)=0
  230. Next UI
  231. For T=0 To 16
  232. Rain(2,21+T)=T
  233. Next T
  234. Rain(2,37)=$B
  235. Rain(2,38)=$7
  236. Rain(2,39)=$6
  237. Rain(2,40)=$5
  238. Rain(2,41)=$4
  239. Rain(2,42)=$3
  240. Rain(2,43)=$2
  241. End Proc