38 lines
597 B
JavaScript
38 lines
597 B
JavaScript
import {run, svg, stdout} from "./ludus.mjs"
|
|
|
|
const code = `
|
|
penwidth!(7)
|
|
pencolor!(:red)
|
|
background!(:maroon)
|
|
|
|
fn ngon! (num_sides, side_len) -> {
|
|
repeat num_sides {
|
|
forward! (side_len)
|
|
right! (inv (num_sides))
|
|
}
|
|
}
|
|
|
|
fn show_gons! (n, side_len) -> {
|
|
if lte? (n, 0)
|
|
then :ok
|
|
else {
|
|
ngon! (n, side_len)
|
|
penup!()
|
|
rt!(0.01)
|
|
fd!(add (side_len, 10))
|
|
pendown!()
|
|
show_gons! (sub (n, 1), side_len)
|
|
}
|
|
}
|
|
|
|
show_gons! (100, 100)
|
|
|
|
hideturtle!()
|
|
`
|
|
|
|
const result = run(code)
|
|
|
|
// console.log(stdout(result))
|
|
|
|
console.log(svg(result.io.turtle.data))
|