
bon je corrige
voilas, j'aime bien aussi comme ça

Code : Tout sélectionner
#PI = 3.14159265
InitSprite()
InitKeyboard()
OpenScreen(1280, 1024, 32, "")
Procedure Engrenage(x.l, y.l, r1.f, r2.f, p.f, an.f, pr.f)
a.f
a2.f
StartDrawing(ScreenOutput())
Repeat
Repeat
a + pr
If b
xp1 = r1 * Cos(a + an) + x
yp1 = r1 * Sin(a + an) + y
Else
xp1 = r2 * Cos(a + an) + x
yp1 = r2 * Sin(a + an) + y
EndIf
Plot(xp1, yp1, RGB(200, 180, 255))
Until a > a2 + p
If b
xp2 = r2 * Cos(a + an) + x
yp2 = r2 * Sin(a + an) + y
Else
xp2 = r1 * Cos(a + an) + x
yp2 = r1 * Sin(a + an) + y
EndIf
LineXY(xp1, yp1, xp2, yp2, RGB(200, 180, 255))
a2.f + p
a.f = a2
b + 1
If b > 1 : b = 0 : EndIf
Until a2 >= 2* #PI
StopDrawing()
EndProcedure
div = 8
Repeat
ExamineKeyboard()
If KeyboardReleased(#PB_Key_Up) : div + 1 : EndIf
If KeyboardReleased(#PB_Key_Down) : div - 1 : EndIf
If div <= 0 : div = 1 : EndIf
ClearScreen(0, 0, 0)
a.f + 0.01
If a > 2 * #Pi : a = 0 : EndIf
Engrenage(640, 512, 400, 500, #pi / div, a, 0.001)
Engrenage(640, 512, 200, 300, #pi / (div + 2), -a, 0.001)
Engrenage(640, 512, 50 , 100, #pi / (div + 6), a, 0.001)
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)