home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
201-225
/
apd209
/
magic.amos
/
magic.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1991-02-26
|
7KB
|
256 lines
Rem Magic Carpet
Rem a bobs demo by
Rem JAG of FANATIX
Screen Open 0,320,256,32,Lowres : Curs Off : Cls 0 : Hide On : Flash Off
Close Workbench : Close Editor : Led Off : Break Off
SETUP:
Dim DX(720) : Dim DY(720)
Degree
For F=1 To 720
DX(F)=Sin(F)*50 : DY(F)=Cos(F)*50
Next F
Screen Open 0,320,256,32,Lowres
Curs Off : Flash Off : Hide On : Cls 0
Screen Open 1,320,256,32,Lowres
Curs Off : Flash Off : Hide On : Cls 0
Auto View Off
Screen To Front 0
Screen Open 2,320,256,32,Lowres
Flash Off : Curs Off : Hide On : Cls 0
Screen To Front 2
Screen 0
Unpack 6 To 1 : Screen To Front 0 : Screen To Front 2
Screen Copy 1,0,0,320,256 To 0,0,0
Screen 0 : Fade 1 : Wait 15
Screen Close 2
Fade 7 To 1
Wait 50
Repeat : Until Mouse Key=1
Screen Close 1
Screen 0 : Fade 5 : Wait 75
Auto View On
Screen Open 1,360,256,2,Lowres
Curs Off : Hide On : Flash Off : Cls 0
Screen Display 1,112,40,,
Colour 1,$555
Cls 1
Set Rainbow 1,1,4097,"","",""
Rain(1,3)=3355 : Rain(1,160)=3355 : Rain(1,2)=3340 : Rain(1,1)=3330
Rain(1,0)=3329 : Rain(1,161)=3340 : Rain(1,162)=3330 : Rain(1,163)=3329
Rain(1,5)=$333 : Rain(1,6)=$444 : Rain(1,7)=$555 : Rain(1,8)=$666
Rain(1,9)=$777 : Rain(1,10)=$888 : Rain(1,11)=$999 : Rain(1,12)=$BBB
Rain(1,13)=$DDD : Rain(1,14)=$BBB : Rain(1,15)=$999 : Rain(1,16)=$888
Rain(1,17)=$777 : Rain(1,18)=$666 : Rain(1,18)=$555 : Rain(1,19)=$444 : Rain(1,20)=$333
Rainbow 1,1,85,163
Screen Open 0,320,153,16,Lowres
Curs Off : Flash Off : Hide On : Cls 0
Get Sprite Palette
Screen Display 0,130,89,,
Colour 7,$444 : Colour 8,$666 : Colour 9,$888 : Colour 15,$AAA
Paste Bob 10,14,3 : Paste Bob 145,130,6 : Paste Bob 100,100,5 : Paste Bob 300,21,6
Paste Bob 75,75,4 : Paste Bob 150,34,4 : Paste Bob 200,100,3 : Paste Bob 34,34,4
Paste Bob 165,87,5 : Paste Bob 150,105,7 : Paste Bob 200,34,4 : Paste Bob 150,50,3
Paste Bob 10,120,4 : Paste Bob 40,70,6 : Paste Bob 220,60,4 : Paste Bob 120,30,5
Paste Bob 280,20,3 : Paste Bob 100,140,4
Double Buffer
Music 1
A$="Move 100,100,25; Move 100,-100,25; Move -100,0,10; Move -100,100,10; Move 0,-100,50"
B$="PLay 1"
C$="PLay 2"
D$="Move -100,0,25"
E$="Move 50,-50,25"
F$="Move 280,70,160"
G$="Move -295,-90,160"
H$="PLay 4"
I$="Move 0,100,25"
J$="Move 100,0,50"
K$="PLay 3"
L$="PLay 5"
M$="PLay 6"
N$="Move -50,-25,25"
O$="PLay 8"
P$="PLay 9"
Q$="PLay 10"
Bob 1,,,
Bob 2,,,
Bob 3,,,
Bob 4,,,
Bob 5,,,
Bob 6,,,
Bob 7,,,
Bob 8,,,
Bob 9,,,
For F=1 To 12
Channel F To Bob F
Next F
Rem *********************************************************
MAINLOOP:
Gosub NORMAL
Gosub SPIN
Gosub CARPET
Gosub JAG
Gosub FX
Goto MAINLOOP
Rem *********************************************************
NORMAL:
Bob 1,0,0,1
Bob 2,15,0,2
Bob 3,30,0,1
Bob 4,0,15,2
Bob 5,15,15,1
Bob 6,30,15,2
Bob 7,0,30,1
Bob 8,15,30,2
Bob 9,30,30,1
Bob 10,0,45,2
Bob 11,15,45,1
Bob 12,30,45,2
Restore TDATA
Update Every 2
For W=1 To 24
Read TYPE$
Gosub MOVE
Next W
Bob Off 9 : Bob Off 10 : Bob Off 11 : Bob Off 12
Return
Rem ************************************************************
MOVE:
For F=1 To 12
Amal F,TYPE$ : Amal On F : Wait 1
Next F
Goto FINI
Wait 2
Return
Rem ************************************************************
SPIN:
Update Every 1
X=140 : Y=65 : M=1 : N=1
For AB=1 To 10
For A=1 To 360 Step 4
Bob 1,X+DX(A),Y+DY(A),2
Bob 2,X+DX(A+45),Y+DY(A+45),1
Bob 3,X+DX(A+90),Y+DY(A+90),2
Bob 4,X+DX(A+135),Y+DY(A+135),1
Bob 5,X+DX(A+180),Y+DY(A+180),2
Bob 6,X+DX(A+225),Y+DY(A+225),1
Bob 7,X+DX(A+270),Y+DY(A+270),2
Bob 8,X+DX(A+315),Y+DY(A+315),1
If M=1 Then Dec X : If X=0 Then M=0
If M=0 Then Inc X : If X=320 Then M=1
If N=1 Then Dec Y : If Y=0 Then N=0
If N=0 Then Inc Y : If Y=150 Then N=1
Wait Vbl
If Mouse Key=1 Then Goto DIE
Next A
Next AB
Rem **************************************************************
FINI:
GO:
If Mouse Key=1 Then Goto DIE
If Chanmv(12)=-1 Then Goto GO
Return
Rem **************************************************************
TDATA:
Data A$,D$,B$,B$,I$,J$,K$
Data G$,C$,H$,F$,K$,D$,D$
Data A$,J$,J$,D$,H$,L$,E$
Data M$,F$,N$
Rem **************************************************************
CARPET:
Pen 1 : Paper 0
Locate 0,1
Centre "Magic Carpet"
Synchro Off
Bob 1,115,20,1 : Bob 2,130,20,2 : Bob 3,145,20,1 : Bob 4,160,20,2
Bob 5,115,35,2 : Bob 6,130,35,1 : Bob 7,145,35,2 : Bob 8,160,35,1
Bob 9,115,50,1 : Bob 10,130,50,2 : Bob 11,145,50,1 : Bob 12,160,50,2
Bob 13,115,65,2 : Bob 14,130,65,1 : Bob 15,145,65,2 : Bob 16,160,65,1
Bob 17,115,80,1 : Bob 18,130,80,2 : Bob 19,145,80,1 : Bob 20,160,80,2
Bob 21,115,95,2 : Bob 22,130,95,1 : Bob 23,145,95,2 : Bob 24,160,95,1
Bob 25,115,110,1 : Bob 26,130,110,2 : Bob 27,145,110,1 : Bob 28,160,110,2
Bob 29,115,125,2 : Bob 30,130,125,1 : Bob 31,145,125,2 : Bob 32,160,125,1
For O=1 To 32
Channel O To Bob O
Amal O,O$ : Wait 1 : Amal On O
Synchro
Next O
Repeat
Synchro
Wait Vbl
If Mouse Key=1 Then Goto DIE
Until Chanmv(32)=0
Synchro On
Update Every 2
Pen 0 : Paper 0 : Centre " "
Wait Vbl
Return
Rem ***********************************************************
FX:
Pen 1 : Paper 0
Locate 0,1
Centre "From"
Synchro Off
Bob 1,70,30,1 : Bob 2,85,30,2 : Bob 3,100,30,1 : Bob 4,115,30,2
Bob 5,205,30,2 : Bob 6,70,45,2 : Bob 7,130,45,1 : Bob 8,190,45,1
Bob 9,70,60,1 : Bob 10,145,60,2 : Bob 11,175,60,2 : Bob 12,70,75,2
Bob 13,85,75,1 : Bob 14,100,75,2 : Bob 15,160,75,1 : Bob 16,70,90,1
Bob 17,145,90,2 : Bob 18,175,90,2 : Bob 19,70,105,2 : Bob 20,130,105,1
Bob 21,190,105,1 : Bob 22,70,120,1 : Bob 23,115,120,2 : Bob 24,205,120,2
For O=1 To 24
Channel O To Bob O
Amal O,P$ : Wait 1 : Amal On O
Synchro
Next O
Repeat
Synchro
Wait Vbl
If Mouse Key=1 Then Goto DIE
Until Chanmv(24)=0
For Q=13 To 24
Bob Off Q
Next Q
Synchro On
Update Every 2
Locate 0,1 : Pen 0 : Paper 0 : Centre " "
Wait Vbl
Return
Rem ***********************************************************
JAG:
Pen 1 : Paper 0
Locate 0,1
Centre "By JAG"
Synchro Off
Bob 1,70,30,1 : Bob 2,85,30,2 : Bob 3,100,30,1 : Bob 4,115,30,2
Bob 5,130,30,1 : Bob 6,145,30,2 : Bob 7,160,30,1 : Bob 8,175,30,2
Bob 9,190,30,1 : Bob 10,205,30,2 : Bob 11,115,45,1 : Bob 12,160,45,2
Bob 13,70,60,1 : Bob 14,85,60,2 : Bob 15,115,60,2 : Bob 16,130,60,1
Bob 17,145,60,2 : Bob 18,160,60,1 : Bob 19,190,60,1 : Bob 20,205,60,2
Bob 21,70,75,2 : Bob 22,115,75,1 : Bob 23,160,75,2 : Bob 24,205,75,1
Bob 25,70,90,1 : Bob 26,85,90,2 : Bob 27,100,90,1 : Bob 28,115,90,2
Bob 29,160,90,1 : Bob 30,175,90,2 : Bob 31,190,90,1 : Bob 32,205,90,2
For O=1 To 32
Channel O To Bob O
Amal O,Q$ : Wait 1 : Amal On O
Synchro
Next O
Repeat
Synchro
Wait Vbl
If Mouse Key=1 Then Goto DIE
Until Chanmv(32)=0
For Q=25 To 32
Bob Off Q
Next Q
Synchro On
Update Every 2
Pen 0 : Paper 0 : Centre " "
Wait Vbl
Return
Rem ***********************************************************
DIE:
Screen Close 1
Screen Close 0
For F=63 To 0 Step -1
Mvolume F
For T=0 To 1000 : Next T
Next F