home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
sourcecode
/
subroutines
/
sinus_routines.amos
/
sinus_routines.amosSourceCode
< prev
Wrap
AMOS Source Code
|
1993-07-31
|
7KB
|
243 lines
Load "Sprites/Balls.Pack"
WAVY_BOB1
Procedure WAVY_BOB1
MXSCREEN=5
PBOB_INIT[14,16,32,32]
For LOP=1 To 8
PBOB[LOP,LOP]
Next LOP
PBOB_END
Randomize Timer
A=Rnd(4)
For I=0 To MXSCREEN
SCR_OPEN[I,0,320,200,16,Lowres]
If A=0 Then Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
If A=2 Then Palette $0,$221,$222,$223,$224,$225,$226,$227,$228,$229,$22A,$22B,$22C,$22D,$22E,$22F
If A=3 Then Palette $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
If A=4 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
Screen Hide I
Next
'
' Main loop
SCR=0 : COUNT=0 : T#=0 : P#=0.003
R1=110 : R2=55 : XCEN=151 : YCEN=87 : TW#=2*Pi# : I#=Pi#/64 : I2#=Pi#/20
R3=65 : R4=85 : SET#=Pi#/1.3 : NUM=1
TEMP=0
For T#=0 To 1*TW# Step I#
Screen Hide SCR
Add SCR,1,0 To MXSCREEN
Screen Show SCR : Screen To Front SCR : Screen SCR
X1#=R3*Cos(T#+SET#/0.2)+XCEN
Y1#=R4*Sin(T#)+YCEN
Paste Bob X1#,Y1#,NUM
X2#=R1*Cos(T#)+XCEN
Y2#=R2*Sin(T#)+YCEN
Paste Bob X2#,Y2#,NUM
X3#=R3*Cos(T#+SET#*0.2)+XCEN
Y3#=R4*Sin(T#)+YCEN
Paste Bob X3#,Y3#,NUM
If TEMP=1
Add NUM,1,1 To 8
TEMP=0
Else
TEMP=1
End If
Next T#
For LOP=1 To 200
Screen Hide SCR
Add SCR,1,0 To MXSCREEN
Screen Show SCR : Screen SCR
Wait 2
Next LOP
Erase 1
SCR_CLOSE
End Proc
Procedure SCR_CLOSE
While Screen<>-1
Screen Hide Screen
Screen Close Screen
Wend
End Proc
Procedure PBOB_INIT[BANK,NCOL,MX,MY]
Shared PB_BANK
PB_BANK=BANK
S=Screen
Screen Open 7,MX,MY,NCOL,0
Screen Hide
If S<>-1 Then Screen S
End Proc
Procedure PBOB_END
Screen Close 7
End Proc
Procedure PBOB[N,D]
Shared PB_BANK
Dec N
A=Start(PB_BANK)+N*10
If Deek(A)
AB=Start(PB_BANK)+Deek(A)*2
SX=Deek(A+2)*16 : SY=Deek(A+4)
S=Screen : Screen 7
Unpack AB,0,0 : Get Bob D,0,0 To SX,SY
Screen S
AA=Sprite Base(D) : Loke AA+6,Leek(A+6)
End If
End Proc
Procedure SCR_OPEN[SCR,AUTO,X,Y,NUM,RES]
Screen Open SCR,X,Y,NUM,RES
Autoback AUTO
Flash Off
Curs Off
Hide On
Cls 0
End Proc
Procedure WAVY_BOB2
MXSCREEN=5
PBOB_INIT[14,16,32,32]
For LOP=1 To 8
PBOB[LOP,LOP]
Next LOP
PBOB_END
Randomize Timer
A=Rnd(4)
For I=0 To MXSCREEN
SCR_OPEN[I,0,320,200,16,Lowres]
If A=0 Then Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
If A=2 Then Palette $0,$221,$222,$223,$224,$225,$226,$227,$228,$229,$22A,$22B,$22C,$22D,$22E,$22F
If A=3 Then Palette $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
If A=4 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
Screen Hide I
Next
'
' Main loop
SCR=0 : COUNT=0 : T#=0 : P#=0.003
R1=110 : R2=55 : XCEN=151 : YCEN=87 : TW#=2*Pi# : I#=Pi#/64 : I2#=Pi#/20
R3=65 : R4=85 : SET#=Pi#/1.63 : NUM=1
TEMP=0
For T#=0 To 1*TW# Step I#
Screen Hide SCR
Add SCR,1,0 To MXSCREEN
Screen Show SCR : Screen To Front SCR : Screen SCR
X3#=R1*Cos(T#+SET#*2.23)+XCEN
Y3#=R3*Sin(T#)+YCEN
Paste Bob X3#,Y3#,NUM
X3#=R1*Cos(T#+SET#/2.23)+XCEN
Y3#=R3*Sin(T#)+YCEN
Paste Bob X3#,Y3#,NUM
If TEMP=1
Add NUM,1,1 To 8
TEMP=0
Else
TEMP=1
End If
Next T#
For LOP=1 To 200
Screen Hide SCR
Add SCR,1,0 To MXSCREEN
Screen Show SCR : Screen SCR
Wait 2
Next LOP
Erase 1
SCR_CLOSE
End Proc
Procedure WAVY_BOB3
MXSCREEN=5
PBOB_INIT[14,16,32,32]
PBOB[1,1]
PBOB_END
Randomize Timer
A=Rnd(4)
For I=0 To MXSCREEN
SCR_OPEN[I,0,320,200,16,Lowres]
If A=0 Then Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
If A=2 Then Palette $0,$221,$222,$223,$224,$225,$226,$227,$228,$229,$22A,$22B,$22C,$22D,$22E,$22F
If A=3 Then Palette $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
If A=4 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
Screen Hide I
Next
T#=0 : P#=0.003 : SCR=0
R1=10 : R2=10 : XCEN=151 : YCEN=87 : TW#=2*Pi# : I#=Pi#/160 : I2#=Pi#/3
R3=-54 : R4=-32 : SET#=Pi#/3 : NUM=1
XCEN=149 : YCEN=90 : C=1
TEMP=0 : SCR=0 : LOBES#=3 : NUM=1
For LOP=1 To 20
For T#=0 To 1*TW#+I# Step I#
Screen Hide SCR
Add SCR,1,0 To MXSCREEN
Screen SCR
Screen To Front SCR
X2#=R3*Cos(T#+LOBES#)+XCEN
Y2#=R4*Sin(T#)+YCEN
Paste Bob X2#,Y2#,NUM
Screen Show SCR
Add TEMP,1,0 To 2
Next T#
Add R3,-5 : Add R4,-8
Next LOP
For LOP=1 To 200
Screen Hide SCR
Add SCR,1,0 To MXSCREEN
Screen Show SCR : Screen SCR
Wait 2
Next LOP
Erase 1
SCR_CLOSE
End Proc
Procedure WAVY_BOB4
MXSCREEN=5
PBOB_INIT[14,16,32,32]
For LOP=1 To 8
PBOB[LOP,LOP]
Next LOP
PBOB_END
Randomize Timer
A=Rnd(4)
For I=0 To MXSCREEN
SCR_OPEN[I,0,320,200,16,Lowres]
If A=0 Then Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
If A=2 Then Palette $0,$221,$222,$223,$224,$225,$226,$227,$228,$229,$22A,$22B,$22C,$22D,$22E,$22F
If A=3 Then Palette $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
If A=4 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
Screen Hide I
Next
'
' Main loop
SCR=0 : COUNT=0 : T#=0 : P#=0.003
R1=110 : R2=55 : XCEN=151 : YCEN=87 : TW#=2*Pi# : I#=Pi#/64 : I2#=Pi#/20
R3=65 : R4=85 : SET#=Pi#/1.3 : NUM=1
TEMP=0
For T#=0 To 1*TW# Step I#
Screen Hide SCR
Add SCR,1,0 To MXSCREEN
Screen Show SCR : Screen To Front SCR : Screen SCR
X1#=R3*Cos(T#+SET#/0.2)+XCEN
Y1#=R4*Sin(T#)+YCEN
Paste Bob X1#,Y1#,NUM
X2#=R1*Cos(T#+SET#/0.2)+XCEN
Y2#=R2*Sin(T#)+YCEN
Paste Bob X2#,Y2#,NUM
X2#=R1*Cos(T#+SET#*0.2)+XCEN
Y2#=R2*Sin(T#)+YCEN
Paste Bob X2#,Y2#,NUM
X3#=R3*Cos(T#+SET#*0.2)+XCEN
Y3#=R4*Sin(T#)+YCEN
Paste Bob X3#,Y3#,NUM
If TEMP=1
Add NUM,1,1 To 8
TEMP=0
Else
TEMP=1
End If
Next T#
For LOP=1 To 200
Screen Hide SCR
Add SCR,1,0 To MXSCREEN
Screen To Front SCR : Screen Show SCR : Screen SCR
Wait 2
Next LOP
Erase 1
SCR_CLOSE
End Proc