Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
21
Task/Langtons-ant/BBC-BASIC/langtons-ant.basic
Normal file
21
Task/Langtons-ant/BBC-BASIC/langtons-ant.basic
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
REM Implementation of Langton's ant for Rosetta Code
|
||||
fieldsize%=100
|
||||
REM Being pedantic, this will actually result in a field of 101 square,
|
||||
REM since arrays start at 0, and my implementation allows them to use it
|
||||
DIM field&(fieldsize%,fieldsize%) : REM variables with an & suffix are byte variables
|
||||
x%=fieldsize%/2
|
||||
y%=fieldsize%/2
|
||||
d%=0
|
||||
REPEAT
|
||||
IF field&(x%,y%)=0 THEN field&(x%,y%)=1:d%-=1 ELSE field&(x%,y%)=0:d%+=1
|
||||
GCOL 15*field&(x%,y%)
|
||||
PLOT 69,x%*2,y%*2 :REM for historical reasons there are two "plot points" per pixel
|
||||
d%=(d%+4) MOD 4 :REM ensure direction is always between 0 and 3
|
||||
CASE d% OF
|
||||
WHEN 0:y%+=1
|
||||
WHEN 1:x%+=1
|
||||
WHEN 2:y%-=1
|
||||
WHEN 3:x%-=1
|
||||
ENDCASE
|
||||
UNTIL x%>fieldsize% OR x%<0 OR y%>fieldsize% OR y%<0
|
||||
END
|
||||
Loading…
Add table
Add a link
Reference in a new issue