Sierpinski square curve: Difference between revisions

m
(Added Easylang)
Line 326:
 
=={{header|EasyLang}}==
[https://easylang.online/show/#cod=jZLBboQgEIbvPMUfYnohEt22hx64+gybbDxQxS4pCwbsrr59QxV3tT30QuCfj/lnJtN718CEKaixh1FXZcAhR+0uGfyXUSE71eAEQOc8DAY3U1EBIG0GAUqXZ2SaDNoiDL45Sx+WXEt8QTQESoRB9TjMGe1qdicB6C7puoZAk22iQDQTKwKGst4T717JT5QbmZO/rrGXpweTFAo32aeRSPsT5YSTPk2u9fKW4iMmSPsBPv822qqbboczCv4chYu7qgiRfwxLd3N7tKL3IkcwgcYFtNrf1SmqQdutGt2TGQBl1oz5Q8ZWe+QiVv2bYzuOPXI8TWLpPVbKjhWLByXr8gicQI8U9FjlFavyhZjvFDVJ2/ey3zuyn+5rgUOBt4KQbw== Run it]
[https://easylang.online/show/#cod=jVLRasMgFH33Kw4SxoZE0nYdjOFrviFQ+iCJXYVUg2Zt8vfDxiRN28Feop57zrl6chtnS6iukaZCrc6qBofstD0lcD+18sluD04AHKxDjdYOrIAAkCaBAKXxGDhlAm3gW1cepfPRK9YjRUNgBd+qBuvB0UzNZiYAfRhxvYdAmSyqsf+LmEhgWC0dVO3VH6I7N04etuPqL7IZQ5HmKuOEkyZEVzl5mWvf4IOq1kZddNUekfFNADoIbDN8oYfAOgvQyZ4VOvTkH8npQygL0JzO9+zABErrUWk3o31AvTZLNFxobHbNZXJMbxwr7SDwGpY0POcNJ1th85E9ythzGXsm42NkMajwDlbkLHwomeZMYAdaUNAiT3OWp5Ex7Cn2JM7p+/2Ektu/8JkR8gs= Run it]
 
<syntaxhighlight>
proc expandlsysexp level . axiom$ rules$[] .
for l to level
an$ = ""
Line 335:
for i = 1 step 2 to len rules$[]
if rules$[i] = c$
anc$ &= rules$[i + 1]
else break 1
an$ &= c$
.
.
an$ &= c$
.
swap axiom$ an$
.
.
proc drawlsysdraw axiom$ x y ang . .
linewidth 0.3
x = 50 ; y = 20
move x y
for c$ in strchars axiom$
Line 354 ⟶ 353:
line x y
elif c$ = "-"
dir -= (dir - ang) mod 360
elif c$ = "+"
dir += (dir + ang) mod 360
.
.
Line 362 ⟶ 361:
axiom$ = "F+XF+F+XF"
rules$[] = [ "X" "XF-F+F-XF+F+XF-F+F-X" ]
expandlsysexp 4 axiom$ rules$[]
drawlsysdraw axiom$ 50 20 90
</syntaxhighlight>
 
1,982

edits