Skip to content

Instantly share code, notes, and snippets.

@sirpengi
Last active December 11, 2015 01:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sirpengi/4527701 to your computer and use it in GitHub Desktop.
Save sirpengi/4527701 to your computer and use it in GitHub Desktop.
charging bot
@LOOPSTART
# just charge
CALLFF << @INSPECT @HERE @CHARGE 3
LESS << 50
IFTGOTO << @CHARGEME
# scan around
CALLFF << @SCAN -4 0 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN -3 0 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN -2 0 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN -1 0 3
EQUAL << @CELL_ROBOT
ADD
ADD
ADD
STORE NUM_WEST
CALLFF << @SCAN 4 0 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 3 0 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 2 0 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 1 0 3
EQUAL << @CELL_ROBOT
ADD
ADD
ADD
STORE NUM_EAST
CALLFF << @SCAN 0 4 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 0 3 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 0 2 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 0 1 3
EQUAL << @CELL_ROBOT
ADD
ADD
ADD
STORE NUM_SOUTH
CALLFF << @SCAN 0 -4 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 0 -3 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 0 -2 3
EQUAL << @CELL_ROBOT
CALLFF << @SCAN 0 -1 3
EQUAL << @CELL_ROBOT
ADD
ADD
ADD
STORE NUM_NORTH
PUSH 4
@DETERMINE_START
DUP
PUSH NUM_NORTH
EQUAL
IFTGOTO << @FIRE_NORTH
DUP
PUSH NUM_EAST
EQUAL
IFTGOTO << @FIRE_EAST
DUP
PUSH NUM_WEST
EQUAL
IFTGOTO << @FIRE_WEST
DUP
PUSH NUM_SOUTH
EQUAL
IFTGOTO << @FIRE_SOUTH
SUB << 1
DUP
EQUAL << 0
IFFGOTO << @DETERMINE_START
END
@FIRE_NORTH
PUSH @NORTH
GOTO << @DO_PEWPEW
@FIRE_SOUTH
PUSH @SOUTH
GOTO << @DO_PEWPEW
@FIRE_EAST
PUSH @EAST
GOTO << @DO_PEWPEW
@FIRE_WEST
PUSH @WEST
GOTO << @DO_PEWPEW
@DO_PEWPEW
PUSH @PEWPEW
SWAP
CALLFF << 2
GOTO << @LOOPSTART
@CHARGEME
CALLFF << @CHARGEUP 10 2
GOTO << @LOOPSTART
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment