Langton's ant: Difference between revisions

m
Line 1,979:
func move(ant) {
ant::.position::.x += xInc[ant::.direction]
ant::.position::.y += yInc[ant::.direction]
}
func Array.stepStep(ant) {
var ptCur = (var x: ant::.position::.x + ant::.origin::.x, var y: ant::.position::.y + ant::.origin::.y)
var leftTurn = this[ptCur::.x][ptCur::.y]
ant::.direction =
if leftTurn {
leftTurns[ant::.direction]
} else {
rightTurns[ant::.direction]
}
this[ptCur::.x][ptCur::.y] = !this[ptCur::.x][ptCur::.y]
move(ant)
ptCur = (x: ant::.position::.x + ant::.origin::.x, y: ant::.position::.y + ant::.origin::.y)
ant::.outOfBounds =
ptCur::.x < 0 ||
ptCur::.x >= ant::.width ||
ptCur::.y < 0 ||
ptCur::.y >= ant::.height
ant::.position
}
Line 2,018:
let w = 100
let h = 100
let blacks = Array.emptyEmpty(w, () => Array.emptyEmpty(h, false))
let ant = newAnt(w, h)
while !ant::.outOfBounds {
blacks.stepStep(ant)
}
Anonymous user