
J'ai hâte d'essayer la version final

.BOOST
.FnOn
.Full
[appvAXECOS]→GDB1COS
Data(32,26,10,⁻10,⁻26,⁻32,⁻26,⁻10,10,26,⁻32,⁻26,⁻10,10,26,32,26,10,⁻10,⁻26)→GDB1PTX
Data(0,18,29,29,18,0,⁻18,⁻29,⁻29,⁻18,0,18,29,29,18,0,⁻18,⁻29,⁻29,⁻18)→GDB1PTY
Data(64,0,52,38,20,61,⁻20,61,⁻52,38,⁻64,0,⁻52,⁻38,⁻20,⁻61,20,⁻61,52,⁻38)→GDB1PT
L₂→°RAYON
L₂+2→°ANGLE
L₂+4→°ROTA
L₂+6→°CAM
L₂+8→°XP
L₂+10→°YP
L₂+12→°ZP
L₂+14→°θCAM
L₂+16→°COSθ
L₂+18→°SINθ
Lbl INIT
1→A
L₁→W
For(4)
rand^25+90→RAYON→{W}
rand^4+5→{W+1}
10
sub(ARCSI)*A→{W+2}
⁻A→A→{L₁+12}
W+3→W
End
Lbl REAPT
0→θ
⁻{L₁}→U
0→V
0→K
1→L
0→θCAM
Repeat 0
K++
Pxl-On(0,K^63)
If getKey(15)
Returnʳ
End
If getKey(54)
Pause 1800
End
getKey(3)-getKey(2)*2+θCAM→θCAM
θCAMsub(COS)→COSθ
θCAMsub(SIN)→SINθ
U→X
V→Y
sub(AFF)
Goto LINE
Lbl AFF
L₁→Z+50→F
For(4)
{Z}→RAYON
{Z+1}→ANGLE
sign{Z+2}→ROTA
Z+3→Z
If ANGLE
For(ANGLE)
0→B
ROTA<<0?10→B
For(10)
sign{GDB1PTX+B}+RAYON→r₁
θsub(COS)*r₁//128+X→XP
θsub(SIN)*r₁//128+Y+16→YP
sign{GDB1PTY+B}→ZP
XP*COSθ-(ZP*SINθ)//128→r₁
XP*SINθ+(ZP*COSθ)//128→r₂
r₁*32//YP+48→{F}
r₂-16*32//YP+48→{F+1}
F+2→F
B++
End
If F-L₁-30/20>5
Return
End
θ+ROTA→θ
End
End
{Z}+RAYON→R
COS(θ)*R//128+X→X
SIN(θ)*R//128+Y→Y
θ+128→θ
End
Lbl LINE
Copy(GDB1PT,L₁+30,20)
L₁+30→F
For(10)
sign{F}*COSθ-(sign{F+1}*SINθ)//128+48→r₁
sign{F}*SINθ+(sign{F+1}*COSθ)//128+16→{F+1}
r₁→{F}
F+2→F
End
L₁+30→F
For(30)
CLINE(sign{F},sign{F+1},sign{F+20},sign{F+21})
F+2→F
End
L₁+70→F
For(30)
Line({F},{F+1},{F+20},{F+21})
F+2→F
End
L₁+50→F
For(1)
For(9)
CLINE(sign{F},sign{F+1},sign{F+2},sign{F+3})
F+2→F
End
CLINE(sign{F},sign{F+1},sign{F-18},sign{F-17})
End
L₁+70→F
For(4)
For(9)
Line({F},{F+1},{F+2},{F+3})
F+2→F
End
Line({F},{F+1},{F-18},{F-17})
F+2→F
End
Lbl DISP
DispGraphClrDraw
sign{L₁+2}→ROTA
CAM+L→CAM
CAM^abs(ROTA)→θ
If {L₁+1}+θ
θ??{L₁+1}--
abs(ROTA)-θ→θ
ROTA<<0?128-θ→θ
Else
Lbl NEW
{L₁}+{L₁+3}→R
sign{L₁+2}<<0?⁻1,1
*R+U→U
sign{L₁+12}→A
Copy(L₁+3,L₃,9)
Copy(L₃,L₁,9)
rand^25+90→RAYON→{L₁+9}
rand^4+5→{L₁+10}
10
sub(ARCSI)*A→{L₁+11}
⁻A→{L₁+12}
sign{L₁+2}<<0?128,0
→θ
0→CAM
End
End
Return
Lbl ARCSI
*128/RAYON→r₁
⁻64→r₂
While (r₁>sign{r₂^256+GDB1COS})
r₂++
End
r₂+63*2
Return
Lbl SIN
-64
Lbl COS
sign{^256+GDB1COS}
Return
Lbl CLINE
For(2)
If r₃<<0
⁻r₁*(r₄-r₂)//(r₃-r₁)+r₂→r₄
0→r₃
End
If r₄<<0
⁻r₂*(r₃-r₁)//(r₄-r₂)+r₁→r₃
0→r₄
End
If r₃>>93
(93-r₁)*(r₄-r₂)//(r₃-r₁)+r₂→r₄
93→r₃
End
If r₄>>63
(63-r₂)*(r₃-r₁)//(r₄-r₂)+r₁→r₃
63→r₄
End
r₃→r₅
r₁→r₃
r₅→r₁
r₄→r₅
r₂→r₄
r₅→r₂
End
!If (r₁=r₃) and (r₂=r₄)
Line(r₁,r₂,r₃,r₄)
End
Return to Langages alternatifs
Users browsing this forum: ClaudeBot [spider] and 9 guests