Code : Tout sélectionner
Global Dim T.F(6)
Procedure.F Sum(n.I)
For I = 1 To n
Result.F + T(I)
Next I
ProcedureReturn Result
EndProcedure
InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(800, 600, 32, "")
BackFrame.I = CreateSprite(#PB_Any, 800, 600)
StartDrawing(SpriteOutput(BackFrame) )
Box(0, 0, 800, 600, RGB(1, 1, 1) )
StopDrawing()
T0V.F = 0.1
Dim X.F(6)
Dim Y.F(6)
Dim W.F(6)
Dim H.F(6)
Dim L.F(6)
L(1) = 100.0
L(2) = 100.0
L(3) = 10.0
L(4) = 5.0
L(5) = 25.0
L(6) = 10.0
Repeat
Delay(1)
DisplaySprite(BackFrame, 0, 0)
StartDrawing(ScreenOutput() )
TB0.F + T0V
For I = 0 To 1
T(0) = TB0 + #PI * I
T(1) = Sin(T(0) ) * 0.4 + #PI / 2.0
T(2) = Sin(T(0) - #PI / 2.0) * 1.0 + 1.0
T(3) = Sin(T(0) ) * 0.5 + 0.5
T(4) = #PI / 2.0
T(5) = #PI
T(6) = Sin(T(0) - #PI / 2.0) * 1.0
W(0) = Cos(T(0) + #PI / 4.0) * 10
H(0) = Sin(T(0) + #PI / 4.0) * 10
For J = 1 To 6
X(J) = X(J - 1) + W(J - 1)
Y(J) = Y(J - 1) + H(J - 1)
S.F = Sum(J) - (J > 4) * T(4)
W(J) = Cos(Sum(J) ) * L(J)
H(J) = Sin(Sum(J) ) * L(J)
Line(X(J), Y(J), W(J), H(J), #White)
Next J
Next
StopDrawing()
FlipBuffers()
ExamineKeyboard()
ExamineMouse()
X(0) = MouseX()
Y(0) = MouseY()
T0V + MouseWheel() / 100.0
Until KeyboardPushed(#PB_Key_Escape)
CloseScreen()