home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 201-225 / apd209 / magic.amos / magic.amosSourceCode < prev    next >
AMOS Source Code  |  1991-02-26  |  7KB  |  256 lines

  1. Rem Magic Carpet 
  2. Rem a bobs demo by 
  3. Rem JAG of FANATIX 
  4. Screen Open 0,320,256,32,Lowres : Curs Off : Cls 0 : Hide On : Flash Off 
  5. Close Workbench : Close Editor : Led Off : Break Off 
  6. SETUP:
  7. Dim DX(720) : Dim DY(720)
  8. Degree 
  9. For F=1 To 720
  10. DX(F)=Sin(F)*50 : DY(F)=Cos(F)*50
  11. Next F
  12. Screen Open 0,320,256,32,Lowres
  13. Curs Off : Flash Off : Hide On : Cls 0
  14. Screen Open 1,320,256,32,Lowres
  15. Curs Off : Flash Off : Hide On : Cls 0
  16. Auto View Off 
  17. Screen To Front 0
  18. Screen Open 2,320,256,32,Lowres
  19. Flash Off : Curs Off : Hide On : Cls 0
  20. Screen To Front 2
  21. Screen 0
  22. Unpack 6 To 1 : Screen To Front 0 : Screen To Front 2
  23. Screen Copy 1,0,0,320,256 To 0,0,0
  24. Screen 0 : Fade 1 : Wait 15
  25. Screen Close 2
  26. Fade 7 To 1
  27. Wait 50
  28. Repeat : Until Mouse Key=1
  29. Screen Close 1
  30. Screen 0 : Fade 5 : Wait 75
  31. Auto View On 
  32. Screen Open 1,360,256,2,Lowres
  33. Curs Off : Hide On : Flash Off : Cls 0
  34. Screen Display 1,112,40,,
  35. Colour 1,$555
  36. Cls 1
  37. Set Rainbow 1,1,4097,"","",""
  38. Rain(1,3)=3355 : Rain(1,160)=3355 : Rain(1,2)=3340 : Rain(1,1)=3330
  39. Rain(1,0)=3329 : Rain(1,161)=3340 : Rain(1,162)=3330 : Rain(1,163)=3329
  40. Rain(1,5)=$333 : Rain(1,6)=$444 : Rain(1,7)=$555 : Rain(1,8)=$666
  41. Rain(1,9)=$777 : Rain(1,10)=$888 : Rain(1,11)=$999 : Rain(1,12)=$BBB
  42. Rain(1,13)=$DDD : Rain(1,14)=$BBB : Rain(1,15)=$999 : Rain(1,16)=$888
  43. Rain(1,17)=$777 : Rain(1,18)=$666 : Rain(1,18)=$555 : Rain(1,19)=$444 : Rain(1,20)=$333
  44. Rainbow 1,1,85,163
  45. Screen Open 0,320,153,16,Lowres
  46. Curs Off : Flash Off : Hide On : Cls 0
  47. Get Sprite Palette 
  48. Screen Display 0,130,89,,
  49. Colour 7,$444 : Colour 8,$666 : Colour 9,$888 : Colour 15,$AAA
  50. Paste Bob 10,14,3 : Paste Bob 145,130,6 : Paste Bob 100,100,5 : Paste Bob 300,21,6
  51. Paste Bob 75,75,4 : Paste Bob 150,34,4 : Paste Bob 200,100,3 : Paste Bob 34,34,4
  52. Paste Bob 165,87,5 : Paste Bob 150,105,7 : Paste Bob 200,34,4 : Paste Bob 150,50,3
  53. Paste Bob 10,120,4 : Paste Bob 40,70,6 : Paste Bob 220,60,4 : Paste Bob 120,30,5
  54. Paste Bob 280,20,3 : Paste Bob 100,140,4
  55. Double Buffer 
  56. Music 1
  57. A$="Move 100,100,25; Move 100,-100,25; Move -100,0,10; Move -100,100,10; Move 0,-100,50"
  58. B$="PLay 1"
  59. C$="PLay 2"
  60. D$="Move -100,0,25"
  61. E$="Move 50,-50,25"
  62. F$="Move 280,70,160"
  63. G$="Move -295,-90,160"
  64. H$="PLay 4"
  65. I$="Move 0,100,25"
  66. J$="Move 100,0,50"
  67. K$="PLay 3"
  68. L$="PLay 5"
  69. M$="PLay 6"
  70. N$="Move -50,-25,25"
  71. O$="PLay 8"
  72. P$="PLay 9"
  73. Q$="PLay 10"
  74. Bob 1,,,
  75. Bob 2,,,
  76. Bob 3,,,
  77. Bob 4,,,
  78. Bob 5,,,
  79. Bob 6,,,
  80. Bob 7,,,
  81. Bob 8,,,
  82. Bob 9,,,
  83. For F=1 To 12
  84. Channel F To Bob F
  85. Next F
  86. Rem *********************************************************
  87. MAINLOOP:
  88. Gosub NORMAL
  89. Gosub SPIN
  90. Gosub CARPET
  91. Gosub JAG
  92. Gosub FX
  93. Goto MAINLOOP
  94. Rem *********************************************************
  95. NORMAL:
  96. Bob 1,0,0,1
  97. Bob 2,15,0,2
  98. Bob 3,30,0,1
  99. Bob 4,0,15,2
  100. Bob 5,15,15,1
  101. Bob 6,30,15,2
  102. Bob 7,0,30,1
  103. Bob 8,15,30,2
  104. Bob 9,30,30,1
  105. Bob 10,0,45,2
  106. Bob 11,15,45,1
  107. Bob 12,30,45,2
  108. Restore TDATA
  109. Update Every 2
  110. For W=1 To 24
  111. Read TYPE$
  112. Gosub MOVE
  113. Next W
  114. Bob Off 9 : Bob Off 10 : Bob Off 11 : Bob Off 12
  115. Return 
  116. Rem ************************************************************ 
  117. MOVE:
  118. For F=1 To 12
  119. Amal F,TYPE$ : Amal On F : Wait 1
  120. Next F
  121. Goto FINI
  122. Wait 2
  123. Return 
  124. Rem ************************************************************ 
  125. SPIN:
  126. Update Every 1
  127. X=140 : Y=65 : M=1 : N=1
  128. For AB=1 To 10
  129. For A=1 To 360 Step 4
  130. Bob 1,X+DX(A),Y+DY(A),2
  131. Bob 2,X+DX(A+45),Y+DY(A+45),1
  132. Bob 3,X+DX(A+90),Y+DY(A+90),2
  133. Bob 4,X+DX(A+135),Y+DY(A+135),1
  134. Bob 5,X+DX(A+180),Y+DY(A+180),2
  135. Bob 6,X+DX(A+225),Y+DY(A+225),1
  136. Bob 7,X+DX(A+270),Y+DY(A+270),2
  137. Bob 8,X+DX(A+315),Y+DY(A+315),1
  138. If M=1 Then Dec X : If X=0 Then M=0
  139. If M=0 Then Inc X : If X=320 Then M=1
  140. If N=1 Then Dec Y : If Y=0 Then N=0
  141. If N=0 Then Inc Y : If Y=150 Then N=1
  142. Wait Vbl 
  143. If Mouse Key=1 Then Goto DIE
  144. Next A
  145. Next AB
  146. Rem ************************************************************** 
  147. FINI:
  148. GO:
  149. If Mouse Key=1 Then Goto DIE
  150. If Chanmv(12)=-1 Then Goto GO
  151. Return 
  152. Rem ************************************************************** 
  153. TDATA:
  154. Data A$,D$,B$,B$,I$,J$,K$
  155. Data G$,C$,H$,F$,K$,D$,D$
  156. Data A$,J$,J$,D$,H$,L$,E$
  157. Data M$,F$,N$
  158. Rem ************************************************************** 
  159. CARPET:
  160. Pen 1 : Paper 0
  161. Locate 0,1
  162. Centre "Magic Carpet"
  163. Synchro Off 
  164. Bob 1,115,20,1 : Bob 2,130,20,2 : Bob 3,145,20,1 : Bob 4,160,20,2
  165. Bob 5,115,35,2 : Bob 6,130,35,1 : Bob 7,145,35,2 : Bob 8,160,35,1
  166. Bob 9,115,50,1 : Bob 10,130,50,2 : Bob 11,145,50,1 : Bob 12,160,50,2
  167. Bob 13,115,65,2 : Bob 14,130,65,1 : Bob 15,145,65,2 : Bob 16,160,65,1
  168. Bob 17,115,80,1 : Bob 18,130,80,2 : Bob 19,145,80,1 : Bob 20,160,80,2
  169. Bob 21,115,95,2 : Bob 22,130,95,1 : Bob 23,145,95,2 : Bob 24,160,95,1
  170. Bob 25,115,110,1 : Bob 26,130,110,2 : Bob 27,145,110,1 : Bob 28,160,110,2
  171. Bob 29,115,125,2 : Bob 30,130,125,1 : Bob 31,145,125,2 : Bob 32,160,125,1
  172. For O=1 To 32
  173. Channel O To Bob O
  174. Amal O,O$ : Wait 1 : Amal On O
  175. Synchro 
  176. Next O
  177. Repeat 
  178. Synchro 
  179. Wait Vbl 
  180. If Mouse Key=1 Then Goto DIE
  181. Until Chanmv(32)=0
  182. Synchro On 
  183. Update Every 2
  184. Pen 0 : Paper 0 : Centre "            "
  185. Wait Vbl 
  186. Return 
  187. Rem ***********************************************************
  188. FX:
  189. Pen 1 : Paper 0
  190. Locate 0,1
  191. Centre "From"
  192. Synchro Off 
  193. Bob 1,70,30,1 : Bob 2,85,30,2 : Bob 3,100,30,1 : Bob 4,115,30,2
  194. Bob 5,205,30,2 : Bob 6,70,45,2 : Bob 7,130,45,1 : Bob 8,190,45,1
  195. Bob 9,70,60,1 : Bob 10,145,60,2 : Bob 11,175,60,2 : Bob 12,70,75,2
  196. Bob 13,85,75,1 : Bob 14,100,75,2 : Bob 15,160,75,1 : Bob 16,70,90,1
  197. Bob 17,145,90,2 : Bob 18,175,90,2 : Bob 19,70,105,2 : Bob 20,130,105,1
  198. Bob 21,190,105,1 : Bob 22,70,120,1 : Bob 23,115,120,2 : Bob 24,205,120,2
  199. For O=1 To 24
  200. Channel O To Bob O
  201. Amal O,P$ : Wait 1 : Amal On O
  202. Synchro 
  203. Next O
  204. Repeat 
  205. Synchro 
  206. Wait Vbl 
  207. If Mouse Key=1 Then Goto DIE
  208. Until Chanmv(24)=0
  209. For Q=13 To 24
  210. Bob Off Q
  211. Next Q
  212. Synchro On 
  213. Update Every 2
  214. Locate 0,1 : Pen 0 : Paper 0 : Centre "    "
  215. Wait Vbl 
  216. Return 
  217. Rem ***********************************************************
  218. JAG:
  219. Pen 1 : Paper 0
  220. Locate 0,1
  221. Centre "By JAG"
  222. Synchro Off 
  223. Bob 1,70,30,1 : Bob 2,85,30,2 : Bob 3,100,30,1 : Bob 4,115,30,2
  224. Bob 5,130,30,1 : Bob 6,145,30,2 : Bob 7,160,30,1 : Bob 8,175,30,2
  225. Bob 9,190,30,1 : Bob 10,205,30,2 : Bob 11,115,45,1 : Bob 12,160,45,2
  226. Bob 13,70,60,1 : Bob 14,85,60,2 : Bob 15,115,60,2 : Bob 16,130,60,1
  227. Bob 17,145,60,2 : Bob 18,160,60,1 : Bob 19,190,60,1 : Bob 20,205,60,2
  228. Bob 21,70,75,2 : Bob 22,115,75,1 : Bob 23,160,75,2 : Bob 24,205,75,1
  229. Bob 25,70,90,1 : Bob 26,85,90,2 : Bob 27,100,90,1 : Bob 28,115,90,2
  230. Bob 29,160,90,1 : Bob 30,175,90,2 : Bob 31,190,90,1 : Bob 32,205,90,2
  231. For O=1 To 32
  232. Channel O To Bob O
  233. Amal O,Q$ : Wait 1 : Amal On O
  234. Synchro 
  235. Next O
  236. Repeat 
  237. Synchro 
  238. Wait Vbl 
  239. If Mouse Key=1 Then Goto DIE
  240. Until Chanmv(32)=0
  241. For Q=25 To 32
  242. Bob Off Q
  243. Next Q
  244. Synchro On 
  245. Update Every 2
  246. Pen 0 : Paper 0 : Centre "      "
  247. Wait Vbl 
  248. Return 
  249. Rem ***********************************************************
  250. DIE:
  251. Screen Close 1
  252. Screen Close 0
  253. For F=63 To 0 Step -1
  254. Mvolume F
  255. For T=0 To 1000 : Next T
  256. Next F