home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
sourcecode
/
demos
/
starter.amos
/
starter.amosSourceCode
Wrap
AMOS Source Code
|
1978-01-24
|
7KB
|
342 lines
Mvolume 63
BANKERASE
PANTHORSCREEN
Global PIC$,PICNO,ST
INITIALISATION
SCCLOSE
MAINLOOP:
PICLOAD
SCCLOSE
If PICNO=0 Then Goto STARS
SCSWAP
SCAPPEAR
Goto MAINLOOP
Procedure PANTHORSCREEN
Screen Open 0,640,256,16,Hires : Hide : Flash Off : Curs Off : Cls 0
Screen Open 1,640,256,16,Hires : Flash Off : Hide : Curs Off
Screen Open 2,640,256,16,Hires : Flash Off : Hide : Curs Off
Screen To Front 0
Screen 1
Load Iff "panthor1"
Screen 2
Load Iff "panthor2"
Screen 0 : Get Palette(1)
Fade 1
Wait 15
Bob 1,0,0,1
Channel 1 To Bob 1
Amal 1,"S: M 100,0,0 ; M -100,0,0 ; J S"
Amal On 1
Double Buffer : Autoback 0
Bob Update Off
Screen Copy 1 To Logic(0)
Screen Copy 2 To Physic(0)
Screen Close 1
Screen Close 2
Wait Vbl
Bob Update On
Fade 5,$0,$FFF,$900,$E22,$F99,$DA1,$FF2,$111,$667,$99A,$2,$3,$14,$339,$44A,$100
Wait 75
Repeat
Until Mouse Key
Fade 5
Wait 75
If Fast Free>0 Then Load "musak5.abk" : Music 1 : Tempo $11
Screen Close 0
End Proc
Procedure SCAPPEAR
Screen 1
Y=178
YY=1
For Z=1 To 128
Screen Display 1,,Y,,YY
Dec Y
Add YY,2
Wait Vbl
Next Z
End Proc
Procedure SCCLOSE
If PICNO=5 Then Wait 450
Screen 1
Y=50
YY=255
For Z=1 To 128
Screen Display 1,,Y,,YY
Inc Y
Add YY,-2
Wait Vbl
Next Z
End Proc
Procedure INITIALISATION
Screen Open 0,320,256,64,Lowres : Flash Off : Hide : Curs Off : Cls 0
Screen Open 1,320,256,64,Lowres : Flash Off : Hide : Curs Off : Cls 0
Screen To Front 1
Screen Display 0,,0,,1
Screen Display 1,,128,,1
End Proc
Procedure BANKERASE
For Z=1 To 15
Erase Z
Next Z
End Proc
Procedure SCSWAP
Screen 1
Get Palette(0)
Screen Copy 0 To 1
End Proc
Procedure PICLOAD
Inc PICNO
If PICNO<>1 and ST=0 Then Wait 250
If ST=1 Then Screen Display 1,,128,,1
If PICNO=5 Then PICNO=0 : Pop Proc
A$=Str$(PICNO)
PIC$="pic"+Mid$(A$,2,1)
Screen 0
Cls 0 : Load Iff PIC$
Screen 1
ST=0
End Proc
STARS:
Screen Open 0,320,256,8,Lowres : Flash Off : Curs Off : Cls 0 : Hide
Screen Open 1,320,256,4,Lowres : Flash Off : Curs Off : Colour 1,$FFF : Hide : Cls 0 : Double Buffer : Autoback 0
Screen Display 0,128,40,320,256
Screen Display 0,128,40,320,256
Wait Vbl
Dual Playfield 0,1 : Screen Offset 0,1, : Screen Offset 1,1,
Screen 0 : Load Iff "starsfront" : Colour 10,$FFF : Screen 1
X=1 : XX=360
If Fast Free=0 Then Load "musak5.abk"
A=1
S=1
T=2
U=4
V=6
W=8
X=10
Y=12
Z=14
S1=16
T1=18
U1=20
V1=22
W1=24
X1=26
Y1=28
Z1=30
S2=34
T2=38
U2=42
V2=46
W2=50
X2=54
Y2=58
Z2=62
S3=70
T3=78
U3=86
V3=94
W3=102
X3=110
Y3=118
Z3=126
COUNTER=3330
Degree
A=Rnd(320)
B=Rnd(320)
C=Rnd(320)
D=Rnd(320)
E=Rnd(320)
F=Rnd(320)
G=Rnd(320)
A1=Rnd(320)
B1=Rnd(320)
C1=Rnd(320)
D1=Rnd(320)
E1=Rnd(320)
F1=Rnd(320)
G1=Rnd(320)
A2=Rnd(320)
B2=Rnd(320)
C2=Rnd(320)
D2=Rnd(320)
E2=Rnd(320)
F2=Rnd(320)
G2=Rnd(320)
A3=Rnd(320)
B3=Rnd(320)
C3=Rnd(320)
D3=Rnd(320)
E3=Rnd(320)
F3=Rnd(320)
G3=Rnd(320)
If Fast Free=0 Then Music 1 : Tempo $11
Do
For COUNT=1 To 360 Step 8
X#=Cos(COUNT)
Y#=Cos(COUNTER)
X1#=Cos(COUNT+A)
Y1#=Cos(COUNTER+A)
X2#=Cos(COUNT+B)
Y2#=Cos(COUNTER+B)
X3#=Cos(COUNT+C)
Y3#=Cos(COUNTER+C)
X4#=Cos(COUNT+D)
Y4#=Cos(COUNTER+D)
X5#=Cos(COUNT+E)
Y5#=Cos(COUNTER+E)
X6#=Cos(COUNT+F)
Y6#=Cos(COUNTER+F)
X7#=Cos(COUNT+G)
Y7#=Cos(COUNTER+G)
X8#=Cos(COUNT)
Y8#=Cos(COUNTER)
X9#=Cos(COUNT+A1)
Y9#=Cos(COUNTER+A1)
X10#=Cos(COUNT+B1)
Y10#=Cos(COUNTER+B1)
X11#=Cos(COUNT+C1)
Y11#=Cos(COUNTER+C1)
X12#=Cos(COUNT+D1)
Y12#=Cos(COUNTER+D1)
X13#=Cos(COUNT+E1)
Y13#=Cos(COUNTER+E1)
X14#=Cos(COUNT+F1)
Y14#=Cos(COUNTER+F1)
X15#=Cos(COUNT+G1)
Y15#=Cos(COUNTER+G1)
X16#=Cos(COUNT)
Y16#=Cos(COUNTER)
X17#=Cos(COUNT+A2)
Y17#=Cos(COUNTER+A2)
X18#=Cos(COUNT+B2)
Y18#=Cos(COUNTER+B2)
X19#=Cos(COUNT+C2)
Y19#=Cos(COUNTER+C2)
X20#=Cos(COUNT+D2)
Y20#=Cos(COUNTER+D2)
X21#=Cos(COUNT+E2)
Y21#=Cos(COUNTER+E2)
X22#=Cos(COUNT+F2)
Y22#=Cos(COUNTER+F2)
X23#=Cos(COUNT+G2)
Y23#=Cos(COUNTER+G2)
X24#=Cos(COUNT)
Y24#=Cos(COUNTER)
X25#=Cos(COUNT+A3)
Y25#=Cos(COUNTER+A3)
X26#=Cos(COUNT+B3)
Y26#=Cos(COUNTER+B3)
X27#=Cos(COUNT+C3)
Y27#=Cos(COUNTER+C3)
X28#=Cos(COUNT+D3)
Y28#=Cos(COUNTER+D3)
X29#=Cos(COUNT+E3)
Y29#=Cos(COUNTER+E3)
X30#=Cos(COUNT+F3)
Y30#=Cos(COUNTER+F3)
X31#=Cos(COUNT+G3)
Y31#=Cos(COUNTER+G3)
Plot X#*S+160,Y#*S+128
Plot X1#*T+160,Y1#*T+128
Plot X2#*U+160,Y2#*U+128
Plot X3#*V+160,Y3#*V+128
Plot X4#*W+160,Y4#*W+128
Plot X5#*X+160,Y5#*X+128
Plot X6#*Y+160,Y6#*Y+128
Plot X7#*Z+160,Y7#*Z+128
Plot X8#*S1+160,Y8#*S1+128
Plot X9#*T1+160,Y9#*T1+128
Plot X10#*U1+160,Y10#*U1+128
Plot X11#*V1+160,Y11#*V1+128
Plot X12#*W1+160,Y12#*W1+128
Plot X13#*X1+160,Y13#*X1+128
Plot X14#*Y1+160,Y14#*Y1+128
Plot X15#*Z1+160,Y15#*Z1+128
Plot X16#*S2+160,Y16#*S2+128
Plot X17#*T2+160,Y17#*T2+128
Plot X18#*U2+160,Y18#*U2+128
Plot X19#*V2+160,Y19#*V2+128
Plot X20#*W2+160,Y20#*W2+128
Plot X21#*X2+160,Y21#*X2+128
Plot X22#*Y2+160,Y22#*Y2+128
Plot X23#*Z2+160,Y23#*Z2+128
Plot X24#*S3+160,Y24#*S3+128
Plot X25#*T3+160,Y25#*T3+128
Plot X26#*U3+160,Y26#*U3+128
Plot X27#*V3+160,Y27#*V3+128
Plot X28#*W3+160,Y28#*W3+128
Plot X29#*X3+160,Y29#*X3+128
Plot X30#*Y3+160,Y30#*Y3+128
Plot X31#*Z3+160,Y31#*Z3+128
If Mouse Key=1 Then Goto TEND
Add COUNTER,8
Screen Swap : Wait Vbl : Cls 0
Add S,1
Add T,1
Add U,1
Add V,1
Add W,1
Add X,1
Add Y,1
Add Z,1
Add S1,1
Add T1,1
Add U1,1
Add V1,1
Add W1,1
Add X1,1
Add Y1,1
Add Z1,1
Add S2,1
Add T2,1
Add U2,1
Add V2,1
Add W2,1
Add X2,1
Add Y2,1
Add Z2,1
Add S3,1
Add T3,1
Add U3,1
Add V3,1
Add W3,1
Add X3,1
Add Y3,1
Add Z3,1
If S>180 Then S=1
If T>180 Then T=1 : A=Rnd(320)
If U>180 Then U=1 : B=Rnd(320)
If V>180 Then V=1 : C=Rnd(320)
If W>180 Then W=1 : D=Rnd(320)
If X>180 Then X=1 : E=Rnd(320)
If Y>180 Then Y=1 : D=Rnd(320)
If Z>180 Then Z=1 : F=Rnd(320)
If S1>180 Then S1=1
If T1>180 Then T1=1 : A1=Rnd(320)
If U1>180 Then U1=1 : B1=Rnd(320)
If V1>180 Then V1=1 : C1=Rnd(320)
If W1>180 Then W1=1 : D1=Rnd(320)
If X1>180 Then X1=1 : E1=Rnd(320)
If Y1>180 Then Y1=1 : D1=Rnd(320)
If Z1>180 Then Z1=1 : F1=Rnd(320)
If S2>180 Then S2=1
If T2>180 Then T2=1 : A2=Rnd(320)
If U2>180 Then U2=1 : B2=Rnd(320)
If V2>180 Then V2=1 : C2=Rnd(320)
If W2>180 Then W2=1 : D2=Rnd(320)
If X2>180 Then X2=1 : E2=Rnd(320)
If Y2>180 Then Y2=1 : D2=Rnd(320)
If Z2>180 Then Z2=1 : F2=Rnd(320)
If S3>180 Then S3=1
If T3>180 Then T3=1 : A3=Rnd(320)
If U3>180 Then U3=1 : B3=Rnd(320)
If V3>180 Then V3=1 : C3=Rnd(320)
If W3>180 Then W3=1 : D3=Rnd(320)
If X3>180 Then X3=1 : E3=Rnd(320)
If Y3>180 Then Y3=1 : D3=Rnd(320)
If Z3>180 Then Z3=1 : F3=Rnd(320)
Next COUNT
Loop
TEND:
Screen 0
Fade 5 : Wait 75 : For Z=63 To 0 Step -1 : Wait Vbl : Mvolume Z : Next Z : BANKERASE : Run "opener.amos"