Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,37 @@
⍝ initialize a Langton's Ant setup with a grid of size left x right (square by default)
langton {
⍝ If rows not specified, set equal to columns
⍝ 0=white, 1=black. Start with all white
grid 0
⍝ Start the ant in the middle
ant 2 ÷
⍝ Aimed in a random direction
dir ?4
⍝ return everything in a tuple
grid ant dir
}
⍝ iterate one step: takes and returns state as created by langton function
step {
grid ant dir
⍝ Turn left or right based on grid cell
dir 1 + 4|dir+2×grid[ant]
⍝ Toggle cell color
grid[ant] 1 - grid[ant]
⍝ Advance along dir. Since coordinates are matrix order (row,col),
⍝ up is -1 0, right is 0 1, down is 1 0, and left is 0 -1
ant + (4 2 ¯1 0, 0 1, 1 0, 0 ¯1)[dir;]
grid ant dir
}
⍝ to watch it run, open the variable pic in the monitor before executing this step
{} { state pic '.⌺'[1+1] _⎕dl ÷200 step } langton 100