Langton's ant: Difference between revisions

Content added Content deleted
(→‎{{header|Haskell}}: spacing, refactor putcell)
(→‎{{header|Haskell}}: simplify let's in nextState)
Line 1,089: Line 1,089:


nextState s@(State m p@(Pos x y) d g) =
nextState s@(State m p@(Pos x y) d g) =
let c = colorAt g p
let color = colorAt g p
in let new_d = case c of White -> (turnRight d)
new_d = case color of White -> (turnRight d)
Black -> (turnLeft d)
Black -> (turnLeft d)
in let new_m = m + 1
new_m = m + 1
new_p = moveOne p new_d
new_p = moveOne p new_d
new_g = toggleCell g p
new_g = toggleCell g p
in State new_m new_p new_d new_g
in State new_m new_p new_d new_g


inRange size s@(State m p@(Pos x y) d g) =
inRange size s@(State m p@(Pos x y) d g) =