home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1978-01-24 | 6.5 KB | 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"