Langton's ant: Difference between revisions

(→‎{{header|Rust}}: Updated to the Rust 1.3.0)
Line 4,027:
▜▖
</pre>
 
=={{header|Phix}}==
<lang Phix>sequence grid = repeat(repeat(' ',53),80) -- smaller grid to trim the output
integer aX = 48, aY = 25, -- (size/start found by trial/err)
gXY, angle = 0 -- ' '/'#'; 0,1,2,3 = NESW
constant dX = {0,1,0,-1} -- (dY = reverse(dX))
while aX>=1 and aX<=80
and aY>=1 and aY<=53 do
gXY = grid[aX][aY]
grid[aX][aY] = 67-gXY -- ' '<=>'#', aka 32<->35
angle = mod(angle+2*gXY+1,4) -- +/-1, ie 0,1,2,3 -> 1,2,3,0 or 3,0,1,2
aX += dX[angle+1]
aY += dX[4-angle]
end while
 
puts(1,join(grid,"\n"))
</lang>
{{out}}
<pre>
# # ##
## ### #
# # ####
## # #####
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
# ## ## #
## # ###
## # ## ## #
## ## # ###
# ## ## ## #
### # # ### ####
# #### ## # # #
# ## # # # # ###
## # ## # ## # ###
## # # ## # #
# # ##### # # #
###### ## ##### #
## # ## # # # ## # ## ###
# ## ### # # ####### # ##
# # ## # # ## ###### # #
# ####### ###### # ## # # #
# ## # ## ## #### # ## #### #
### ## ###### # # #### #
### ## ## # ### # ## # #
# # ## ## # #######
# # ## ## ## #### ## ## ####
# #### # ### ## ### # # #
# # # ##### # # ### ###
# ## ### ## # ## #### ### # #
# # # # #### #### ## ##
# ### ### ### ## # #
# ## ### # #### ### ## ##
# ## ### ## # # # #### # ##
# ### # # # # #### ## ## ####
# # # # # # ## # # ### ## #
## ### # # ## ## # # #
# # # # # ##### # # ##
### ### # ## ## # # ## #
# ## ## ### # # # # # #
## # ####### ### ###### ##### # ###
##### ##### ## ##### # # #
### ### ## # # # ## #
# # ######### ##### ####
### ### # # # ### # # ##
## ## ### ## ### ## #### # #
### ## # # # ##### # ## # ###
# # # # ## ## # # ##### #
## # # ## # # ## #### ######
### # #### ## ### # ##
# # # ## # # ##### # #
## # # ####### ### ##
# ## # ## ## # #
# ## ### #### # #
## ## ### ## #
##
##
</pre>
 
7,820

edits