Sierpinski square curve: Difference between revisions

Content added Content deleted
(Added Easylang)
Line 326: Line 326:


=={{header|EasyLang}}==
=={{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>
<syntaxhighlight>
proc expand level . axiom$ rules$[] .
proc lsysexp level . axiom$ rules$[] .
for l to level
for l to level
an$ = ""
an$ = ""
Line 335: Line 335:
for i = 1 step 2 to len rules$[]
for i = 1 step 2 to len rules$[]
if rules$[i] = c$
if rules$[i] = c$
an$ &= rules$[i + 1]
c$ = rules$[i + 1]
else
break 1
an$ &= c$
.
.
.
.
an$ &= c$
.
.
swap axiom$ an$
swap axiom$ an$
.
.
.
.
proc draw axiom$ ang . .
proc lsysdraw axiom$ x y ang . .
linewidth 0.3
linewidth 0.3
x = 50 ; y = 20
move x y
move x y
for c$ in strchars axiom$
for c$ in strchars axiom$
Line 354: Line 353:
line x y
line x y
elif c$ = "-"
elif c$ = "-"
dir = (dir - ang) mod 360
dir -= ang
elif c$ = "+"
elif c$ = "+"
dir = (dir + ang) mod 360
dir += ang
.
.
.
.
Line 362: Line 361:
axiom$ = "F+XF+F+XF"
axiom$ = "F+XF+F+XF"
rules$[] = [ "X" "XF-F+F-XF+F+XF-F+F-X" ]
rules$[] = [ "X" "XF-F+F-XF+F+XF-F+F-X" ]
expand 4 axiom$ rules$[]
lsysexp 4 axiom$ rules$[]
draw axiom$ 90
lsysdraw axiom$ 50 20 90
</syntaxhighlight>
</syntaxhighlight>