Langton's ant: Difference between revisions
Content added Content deleted
Line 1,744: | Line 1,744: | ||
=={{header|Easyprog.online}}== |
=={{header|Easyprog.online}}== |
||
[https://easyprog.online/ide/run.html?code=len%20f%5B%5D%20100%20%2A%20100%0Afunc%20show%20.%20.%0Afor%20y%20range%20100%0Afor%20x%20range%20100%0Aif%20f%5By%20%2A%20100%20%2B%20x%5D%20%3D%201%0Amove%20x%20y%0Arect%201%201%0A.%0A.%0A.%0A.%0Afunc%20run%20x%20y%20dir%20.%20.%0Adx%5B%5D%20%3D%20%5B%200%201%200%20-1%20%5D%0Ady%5B%5D%20%3D%20%5B%20-1%200%201%200%20%5D%0Awhile%20x%20%3E%3D%200%20and%20x%20%3C%20100%20and%20y%20%3E%3D%200%20and%20y%20%3C%20100%0Av%20%3D%20f%5By%20%2A%20100%20%2B%20x%5D%0Af%5By%20%2A%20100%20%2B%20x%5D%20%3D%201%20-%20v%0Adir%20%2B%3D%201%20%2B%202%20%2A%20v%0Adir%20%3D%20dir%20mod%204%0Ax%20%2B%3D%20dx%5Bdir%5D%0Ay%20%2B%3D%20dy%5Bdir%5D%0A.%0A.%0Acall%20run%2070%2040%200%0Acall%20show Run it] |
|||
[https://easyprog.online/samples/langtons-ant.html Run it] |
|||
<lang>len f[] 100 * 100 |
<lang>len f[] 100 * 100 |
||
Line 1,763: | Line 1,764: | ||
v = f[y * 100 + x] |
v = f[y * 100 + x] |
||
f[y * 100 + x] = 1 - v |
f[y * 100 + x] = 1 - v |
||
dir |
dir = (dir + 1 + 2 * v) mod 4 |
||
dir = dir mod 4 |
|||
x += dx[dir] |
x += dx[dir] |
||
y += dy[dir] |
y += dy[dir] |