RosettaCodeData/Task/Langtons-ant/Julia/langtons-ant.julia
2023-07-01 13:44:08 -04:00

18 lines
404 B
Text

function ant(width, height)
y, x = fld(height, 2), fld(width, 2)
M = falses(height, width)
dir = im
for i in 0:100000
x in 1:width && y in 1:height || break
dir *= M[y, x] ? im : -im
M[y, x] = !M[y, x]
x, y = reim(x + im * y + dir)
end
for row in 1:size(M,1)
println(mapreduce(x -> x ? 'x' : '.', *, M[row,:]))
end
end
ant(100, 100)