home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 376-400 / apd396 / demo.amos / demo.amosSourceCode
AMOS Source Code  |  2000-04-01  |  9KB  |  433 lines

  1. Break Off 
  2. Hide 
  3. Load "demo.abk"
  4. Unpack 14 To 1
  5. Screen Open 0,320,256,32,Lowres : Curs Off : Flash Off 
  6. Get Palette 1 : Screen Copy 1 To 0
  7. Double Buffer : Autoback 0
  8. Degree 
  9. Colour 31,$F0 : Ink 31
  10. Flash 10,"(fff,6)(ddd,6)(f00,6)(e00,6)(d00,6)"
  11. Do 
  12.    Inc S : Inc S
  13.    X=Sin(S)*74 : Y=Cos(S)*74
  14.    Ink 31 : Draw 155,115 To 155+X,115+Y
  15.    Screen Swap : Wait Vbl 
  16.    Screen Copy 1 To 0
  17. If C>3 Then Ink 10 : Plot 230-A,40+B : If Y=-59 and X=43 Then Colour 14,$FFF : Bell 60 : Fade 1,,,,,,,,,,,,,,,3840
  18. If S>360 Then Inc C
  19. If D=8 Then Inc A : Inc B : D=0 : If A=76 Then Exit 
  20. Inc D
  21. Loop 
  22. Flash Off 
  23. Fade 4,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
  24. Boom 
  25. Wait 60
  26. Fade 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  27. Wait 60
  28. '
  29. Volume 0 : Music 1
  30. For V=0 To 63
  31. Volume V
  32. Wait 2
  33. Next 
  34. Unpack 2 To 3
  35. For SN=4 To 7
  36. Unpack SN To 1
  37. Screen Hide 1
  38. Screen Open 0,320,200,32,Lowres : Curs Off : Flash Off : Get Palette 1 : Cls 0
  39. Screen Display 0,,90,,
  40. Screen To Front 3
  41. '
  42. 'Size Of Square  
  43. S=6
  44. SH=Screen Height(1)
  45. '
  46. X=0 : Y=0 : D=S
  47. Do 
  48. REP:
  49. If X>320 Then Y=Y+S : F=1
  50. If X<-20 Then Y=Y+S : F=0
  51. Screen Copy 1,X,Y,X+D,Y+D To 0,X,Y
  52. If F=0 Then X=X+S
  53. If F=1 Then X=X-S
  54. If Y>SH Then Exit 
  55. Loop 
  56. '
  57. Next 
  58. '
  59. Unpack 13 To 0
  60. Screen To Front 3
  61. Screen 0
  62. Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  63. Wait 20
  64. Fade 1,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
  65. Wait 20
  66. '
  67. Fade 1,$0,$FFF,$600,$820,$A40,$C62,$E84,$EA6,$ECA,$4,$4,$15,$115,$126,$126,$237,$247,$248,$358,$368,$469,$479,$58A,$69A,$69B,$7AB,$8BC,$8BC,$9CD,$ADD,$BDD,$CEE
  68. '
  69. Wait 200
  70. Screen 0 : Fade 8
  71. '
  72. '
  73. 2
  74. 'Screen Hide 3 
  75. Cls 0
  76. A$="************* WELCOME TO THE FIRST PURPLE HAZE DEMO****      TO START THIS DEMO HERE ARE***            SOME CYCLE PICS****                                 ......"
  77. Gosub TYPEWRITER
  78. '
  79. '
  80. 3
  81. Screen Open 2,320,48,32,Lowres : Screen Display 2,,256,, : Curs Off : Flash Off 
  82. Palette $0,$AAA,$555,$FFF,$808,$E00,$F,$E,$D,$C,$B,$A,$9,$7,$7,$A,$EE0,$FC0,$C00,$222,$333,$444,$555,$666,$777,$888,$999,$AAA,$CCC,$DDD,$EEE,$FFF
  83. '
  84. Double Buffer 
  85. Cls 0
  86. Bob 1,-160,0,1
  87. Channel 1 To Bob 1
  88. Anim 1,"(1,6)(2,6)(3,6)(4,6)L"
  89. Anim On 
  90. 'Screen Show 3 
  91. For L=9 To 12
  92. Unpack L To 0
  93. Screen To Front 3
  94. Shift Up 1,1,31,1
  95. Screen Hide 0
  96. Screen Display 0,,,,0
  97. Screen Show 0
  98. For Y=50 To 213
  99. Screen Display 0,,,,Y
  100. Wait Vbl 
  101. Next 
  102. Wait 120
  103. For X=-160 To 360 Step 2
  104. Wait Vbl : Bob 1,X,,
  105. Next X
  106. If F=0 Then Anim 1,"(5,6)(6,6)(7,6)(8,6)L" : F=1 : Anim On : Goto NS
  107. If F=1 Then Anim 1,"(1,6)(2,6)(3,6)(4,6)L" : F=0 : Anim On 
  108. NS:
  109. For Y=213 To 50 Step -1
  110. Screen Display 0,,,,Y
  111. Wait Vbl 
  112. Next 
  113. Next 
  114. Screen Close 2
  115. Screen Close 3
  116. '
  117. '
  118. '
  119. 4
  120. Cls 0
  121. A$="*************   WELL WHAT DID YOU THINK OF THOSE ??****      AND NOW FOR SOME VECTORS !!****                                ......."
  122. Gosub TYPEWRITER
  123. '
  124. '
  125. 5
  126. 'VECKTOR PART
  127.  Extension_4_04D6 "objects"
  128. Cls 0
  129. Screen Open 0,320,200,16,Lowres : Curs Off : Flash Off : Cls 0
  130. Double Buffer 
  131. Autoback 0
  132.  Extension_4_0054 200
  133.  Extension_4_0548 
  134.  Extension_4_0016 "spunt"
  135.  Extension_4_0016 "minicube"
  136.  Extension_4_0036 1,"spunt",0,0,10000,0,0,0
  137.  Extension_4_0036 2,"minicube",0,0,1000,0,0,0
  138. Palette ,,,,,,,,,$5F,$0,$7F,$80F,,$50F
  139. C=0
  140. Repeat 
  141.  Extension_4_0100 1,-60
  142. Colour 10,C
  143.    Rem Move your objects here 
  144.    Cls 0
  145.     Extension_4_0318 
  146.    Rem You can draw on top of the 3D objects here 
  147.    Screen Swap 
  148.    Rem Sync with screen display 
  149.    Wait Vbl 
  150. If C<15 and P=10 Then Inc C : P=0
  151. P=P+1
  152. If Extension_4_013C(1)<980 Then Exit 
  153. Until False
  154. Timer=0
  155. Repeat 
  156.  Extension_4_01A6 1,X,Y,Z
  157.  Extension_4_01A6 2,X,Y,
  158.    Rem Move your objects here 
  159.    Cls 0
  160.     Extension_4_0318 
  161.    Rem You can draw on top of the 3D objects here 
  162.    Screen Swap 
  163.    Rem Sync with screen display 
  164.    Wait Vbl 
  165. X=X+1000 : Y=Y+1000 : Z=Z+200
  166. If Timer>500 or Mouse Key=1 Then Fade 10
  167. If Colour(10)=$0 Then Exit 
  168. Until False
  169.  Extension_4_0090 1 : Extension_4_0090 2
  170. '  
  171. '
  172. 6
  173. A$="*************      NOW FOR THE NEXT PART......*****      NEW MUSIC FOR THIS PART....."
  174. Gosub TYPEWRITER
  175. For V=63 To 0 Step -1
  176. Volume V
  177. Wait 2
  178. Next 
  179. Music Off 
  180. Volume 63
  181. '
  182. '6 
  183. 'EQUALIZERS PART 
  184. Load "equal.abk"
  185. Timer=0
  186. Music 1
  187. Unpack 6 To 1
  188. Unpack 5 To 2
  189. Unpack 4 To 3
  190. Unpack 2 To 4
  191. Screen Open 0,320,256,32,Lowres : Curs Off : Flash Off : Cls 0
  192. Screen Open 5,320,50,32,Lowres
  193. Screen Display 5,,231,,
  194. Curs Off : Flash Off : Get Sprite Palette : Cls 0
  195. Set Rainbow 0,1,60,"(3,-1,15)","(3,1,15)",""
  196. Rainbow 0,1,230,50
  197. Double Buffer 
  198. EQUAL
  199. '
  200. '
  201. Screen 0 : S=1
  202. Repeat 
  203. Inc C
  204. Cls 0
  205. Wait Vbl 
  206. Screen To Front S : Screen To Front 5
  207. Wait 15
  208. Inc S : If S>4 Then S=1
  209. If C>20 Then Unpack 7 To 0 : FLSH : C=0 : EQUAL
  210. Until Mouse Key=1 or Timer>6000
  211. Screen To Front 4
  212. Screen 4 : Fade 6
  213. Screen To Front 5
  214. For V=63 To 0 Step -1
  215. Volume V
  216. Wait 3
  217. Next 
  218. Amal Off : Bob Off : Music Off : Rainbow Del 
  219. For S=2 To 5
  220. Screen Close S
  221. Next 
  222. '
  223. Procedure FLSH
  224. Amal Off 
  225. For L=0 To 4000
  226. V0=Vumeter(0) : V1=Vumeter(1) : V2=Vumeter(2) : V3=Vumeter(3)
  227. If V0>0 Then Colour 0,$FFF
  228. If V1>0 Then Colour 1,$F
  229. If V2>0 Then Colour 2,$F0
  230. If V3>0 Then Colour 3,$F00
  231. Fade 1,$0,$0,$0,$0
  232. Next 
  233. End Proc
  234. '
  235. Procedure EQUAL
  236. A$=A$+"       AUtotest(Let R1=Vu(R0)/5; If R1=0 eXit else Direct Start)"
  237. A$=A$+"Start: Anim 1,(10,1)(9,1)(8,1)(7,1)(6,1)(5,1)(4,1)(3,1)(2,1)(1,1); pause; Wait"
  238. For N=0 To 3
  239.    Bob N,50+(N*64),0,1
  240.    Channel N To Bob N
  241.    Amal N,"Let R0="+Str$(N)+A$
  242. Next N
  243. Amal On 
  244. End Proc
  245. '
  246. '
  247. A$="************         AND NOW ITS TIME FOR***             THE CREDITS"
  248. Gosub TYPEWRITER
  249. '
  250. 7
  251. 'CREDITS PART
  252. Load "credits.abk"
  253. Volume 63 : Music 1
  254. Curs Off : Flash Off 
  255. Get Sprite Palette : Cls 0
  256. Unpack 4 To 0
  257. Double Buffer 
  258. '
  259. Bob 1,34,130,1 : Bob 2,279,130,1
  260. For N=1 To 2
  261. Channel N To Bob N
  262. Amal N,"Anim 0,(1,8)(2,8)(3,8)(4,8)(5,8)(6,8)"
  263. Amal On N
  264. Next 
  265. P=70 : Rem   LENGTH OF DELAY BETWEEN CREDITS
  266. For L=1 To 2
  267. I=L+8
  268. Bob 3,133,146,12
  269. Wait P
  270. Bob 4,117,86,I-2
  271. Wait P
  272. Bob 3,,,11
  273. Wait P
  274. Bob 5,147,170,I
  275. Wait P
  276. Bob Off 5
  277. Next 
  278. Bob 3,,,12
  279. Bob Off 4
  280. '
  281. Y=256
  282. Repeat 
  283. Dec Y
  284. Wait Vbl 
  285. Screen Display 0,,,,Y
  286. If Y=200 Then Fade 14
  287. Until Y=0
  288. '
  289. '
  290. A$="****************   NEXT PART IS MY NEW BOB ROUTINE"
  291. Gosub TYPEWRITER
  292. '
  293. 8
  294. 'BOB ROUTINE PART
  295. '
  296. Load "bobsprites.abk"
  297. Screen Open 1,320,30,32,Lowres : Unpack 2 To 1
  298. Screen Display 1,,,,30
  299. Screen Open 0,320,256,32,Lowres : Screen Display 0,,30,,
  300. Get Sprite Palette : Curs Off : Flash Off : Cls 0
  301. Colour 3,$F00
  302. Screen To Front 1
  303. '
  304. Set Rainbow 0,0,22,"(1,1,11)(1,-1,11)","","(1,1,11)(1,-1,11)"
  305. Rainbow 0,1,70,22
  306. '
  307. Set Rainbow 1,0,22,"","(1,1,11)(1,-1,11)","(1,1,11)(1,-1,11)"
  308. Rainbow 1,1,270,22
  309. '
  310. Set Rainbow 2,2,180,"","(6,1,15)(6,-1,15)",""
  311. Rainbow 2,1,90,177
  312. '
  313. Double Buffer 
  314. Degree 
  315. N=55 : XE=2 : YE=4 : I=2
  316. Repeat 
  317. Timer=0
  318. Do 
  319. For B=1 To 8
  320. Wait Vbl 
  321. Bob B,Int(Cos(S*XE)*(N*2)+160),Int(Sin(S*YE)*N+130),1
  322. S=S+I
  323. Next 
  324. If Mouse Key>0 or Timer>500 Then Fade 5
  325. If Colour(10)=$0 Then Exit 
  326. Loop 
  327. '
  328. Bob Off 
  329. Fade 3,,,,$F00,,,,,,224,192,160,112,80,48
  330. Inc XE : If XE>5 Then Inc YE
  331. If XE=5 Then I=1
  332. Until XE>7
  333. UY=70 : DY=270 : SY=30
  334. Repeat 
  335. Dec UY : Inc DY : Dec SY
  336. Wait Vbl 
  337. Rainbow 0,,UY,
  338. Rainbow 1,,DY,
  339. Screen Display 1,,,,SY : If SY<0 Then Screen Display 1,,0,,0
  340. Until UY<-20
  341. Rainbow Del 
  342. '
  343. '
  344. A$="*************       AND NOW FOR A QUICK MESSAGE***      TO MARK THE END OF THIS DEMO."
  345. Gosub TYPEWRITER
  346. '
  347. 9
  348. 'MESSAGE PART
  349. Load "messagesprite.abk"
  350. Unpack 5 To 0 : Screen Display 0,,,,0
  351. Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  352. Fade 15,$0,$FE0,$FC0,$FA0,$F80,$F60,$F40,$F20,$F00,$D00,$B00,$900,$700,$500,$300,$0,$204,$306,$408,$50A,$60C,$70E,$92F,$A4F,$B6F,$C8F,$DAF,$ECF,$FEF,$FFF,$FFE,$FE7
  353. For Y=0 To 256
  354. Wait Vbl 
  355. Screen Display 0,,,,Y
  356. Next 
  357. Shift Up 1,1,31,1
  358. '
  359. Set Rainbow 0,0,16,"","(1,1,8)(1,-1,8)",""
  360. Rainbow 0,1,100,16
  361. Set Rainbow 1,0,16,"","(1,1,8)(1,-1,8)",""
  362. Rainbow 1,1,270,16
  363. '
  364. Synchro Off 
  365. Double Buffer 
  366. For Z=8 To 45
  367. Sprite Z,131+Rnd(350),140+Rnd(110),1
  368. Next Z
  369. '
  370. For Z=8 To 45
  371. X=1+Rnd(10)
  372. S$=Str$(X)
  373. A$="L: L X=X+"
  374. A$=A$+S$
  375. A$=A$+" ; P ; J L"
  376. Channel Z To Sprite Z
  377. Amal Z,A$
  378. Next Z
  379. Amal On 
  380. '
  381. Repeat 
  382. Synchro 
  383. Wait Vbl 
  384. Until Mouse Key
  385. '
  386. DY=50
  387. For Y=256 To 0 Step -2
  388. Inc DY
  389. Wait Vbl 
  390. Screen Display 0,,DY,,Y
  391. Next 
  392. Sprite Off 
  393. Rainbow Del 
  394. Wait Vbl 
  395. Amal Off 
  396. Screen Close 0
  397. Synchro On 
  398. Update Every 1
  399. For V=63 To 0 Step -1
  400. Wait 2 : Volume V
  401. Next 
  402. Stop 
  403. '
  404. '
  405. '  
  406. TYPEWRITER:
  407. Load "typewriter.abk",15
  408. R=0 : E=0
  409. Screen Open 0,320,200,32,Lowres : Colour 1,$0 : Colour 2,$FFF : Colour 3,$F00 : Flash 3,"(f00,15)(0f0,15)(00f,15)"
  410. For C=0 To 255
  411. Set Curs C,C,C,C,C,C,C,0
  412. Next 
  413. Screen Open 1,268+188+30,75,16,Lowres : Curs Off : Flash Off 
  414. Unpack 15 To 1
  415. Channel 0 To Screen Offset 1
  416. Amal 0,"L: M 134,0,67 M -134,0,67 J L"
  417. Amal On 0
  418. Degree 
  419. Screen 0
  420. Repeat 
  421. R=R+1
  422. If R>Len(A$) Then E=1
  423. P$=Mid$(A$,R,1)
  424. Y=Int((Cos(R)*35)) : Y=Y+25
  425. For L=0 To 30 : Next 
  426. Screen Display 1,,Y,,
  427. If P$="*" Then Print 
  428. If E=0 Then If P$<>"*" Then Wait Vbl : Print P$;
  429. Until R=Len(A$)+1600
  430. Screen Close 1
  431. Amal Off 
  432. Return 
  433. '