Compare commits

...

2 Commits

Author SHA1 Message Date
Scott Richmond
88d9e3b2e3 Remove loop-based gons, leaving only recursive 2024-11-03 17:32:43 -05:00
Scott Richmond
1c85f920f2 Update to reflect changes in Prelude 2024-11-03 17:32:15 -05:00
2 changed files with 3 additions and 24 deletions

View File

@ -3,18 +3,18 @@
box states = []
fn push! () -> {
update! (states, append (_, turtle_state ()))
update! (states, append (_, unbox (turtle_state)))
}
fn pop! () -> {
let state = do states > unbox > last
update! (states, butlast)
penup! ()
load_turtle_state! (state)
loadstate! (state)
}
fn branch! () -> {
pc! (colors :olive)
pc! (colors :green)
pw! (4)
fd! (20)
}

View File

@ -10,25 +10,6 @@ fn randcolor () -> (random (0, 255), random (0, 255), random (0, 255))
fn pen_randcolor! () -> pencolor! (randcolor ())
fn spiral_gon! (iter) -> {
loop (30, 0, colors :lime) with (size, times, color) -> {
let randcolor = (random(0, 255), random(0, 255), random (0, 255))
let newcolor = if eq? (color, colors :lime)
then colors :fuchsia
else colors :lime
if lt? (times, iter)
then {
pen_randcolor! ()
ngon! (5, size)
right! (inv (iter))
recur (add (size, 1), inc (times), newcolor)
}
else :ok
}
}
& spiral_gon! (100)
fn spiral_gonr! {
(iter) -> spiral_gonr! (iter, iter, 30)
(_, 0, _) -> :ok
@ -39,6 +20,4 @@ fn spiral_gonr! {
spiral_gonr! (iter, dec (times), inc (size))
}
}
goto! (37, 37)
spiral_gonr! (100)
print! (turtle_state())