Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
72
Task/Langtons-ant/Action-/langtons-ant.action
Normal file
72
Task/Langtons-ant/Action-/langtons-ant.action
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
DEFINE DIRN="0"
|
||||
DEFINE DIRE="1"
|
||||
DEFINE DIRS="2"
|
||||
DEFINE DIRW="3"
|
||||
DEFINE BLACK="1"
|
||||
DEFINE WHITE="2"
|
||||
DEFINE MAXX="159"
|
||||
DEFINE MAXY="95"
|
||||
|
||||
BYTE FUNC TurnLeft(BYTE dir)
|
||||
IF dir=DIRN THEN
|
||||
RETURN (DIRW)
|
||||
FI
|
||||
RETURN (dir-1)
|
||||
|
||||
BYTE FUNC TurnRight(BYTE dir)
|
||||
IF dir=DIRW THEN
|
||||
RETURN (DIRN)
|
||||
FI
|
||||
RETURN (dir+1)
|
||||
|
||||
PROC DrawAnt(INT x,y)
|
||||
BYTE c,dir
|
||||
|
||||
dir=DIRN
|
||||
|
||||
DO
|
||||
c=Locate(x,y)
|
||||
|
||||
IF c=BLACK THEN
|
||||
Color=WHITE
|
||||
Plot(x,y)
|
||||
dir=TurnLeft(dir)
|
||||
ELSE
|
||||
Color=BLACK
|
||||
Plot(x,y)
|
||||
dir=TurnRight(dir)
|
||||
FI
|
||||
IF dir=DIRN THEN
|
||||
y==-1
|
||||
IF y<0 THEN EXIT FI
|
||||
ELSEIF dir=DIRE THEN
|
||||
x==+1
|
||||
IF X>MAXX THEN EXIT FI
|
||||
ELSEIF dir=DIRS THEN
|
||||
y==+1
|
||||
IF Y>MAXY THEN EXIT FI
|
||||
ELSE
|
||||
x==-1
|
||||
IF x<0 THEN EXIT FI
|
||||
FI
|
||||
OD
|
||||
RETURN
|
||||
|
||||
PROC Main()
|
||||
BYTE CH=$02FC
|
||||
BYTE y
|
||||
|
||||
Graphics(7+16)
|
||||
SetColor(0,0,2)
|
||||
SetColor(1,0,12)
|
||||
Color=2
|
||||
FOR y=0 TO MAXY
|
||||
DO
|
||||
Plot(0,y) DrawTo(MAXX,y)
|
||||
OD
|
||||
|
||||
DrawAnt(80,48)
|
||||
|
||||
DO UNTIL CH#$FF OD
|
||||
CH=$FF
|
||||
RETURN
|
||||
Loading…
Add table
Add a link
Reference in a new issue