Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
39
Task/Langtons-ant/Wren/langtons-ant.wren
Normal file
39
Task/Langtons-ant/Wren/langtons-ant.wren
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
var width = 75
|
||||
var height = 52
|
||||
var maxSteps = 12000
|
||||
|
||||
var up = 0
|
||||
var right = 1
|
||||
var down = 2
|
||||
var left = 3
|
||||
var direction = [up, right, down, left]
|
||||
|
||||
var white = 0
|
||||
var black = 1
|
||||
|
||||
var x = (width/2).floor
|
||||
var y = (height/2).floor
|
||||
var m = List.filled(height, null)
|
||||
for (i in 0...height) m[i] = List.filled(width, 0)
|
||||
var dir = up
|
||||
var i = 0
|
||||
while (i < maxSteps && 0 <= x && x < width && 0 <= y && y < height) {
|
||||
var turn = (m[y][x] == black)
|
||||
var index = (dir + (turn ? 1 : -1)) & 3
|
||||
dir = direction[index]
|
||||
m[y][x] = (m[y][x] == black) ? white : black
|
||||
if (dir == up) {
|
||||
y = y - 1
|
||||
} else if (dir == right) {
|
||||
x = x - 1
|
||||
} else if (dir == down) {
|
||||
y = y + 1
|
||||
} else {
|
||||
x = x + 1
|
||||
}
|
||||
i = i + 1
|
||||
}
|
||||
for (j in 0...height) {
|
||||
for (k in 0...width) System.write((m[j][k] == white) ? "." : "#")
|
||||
System.print()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue