Skip to content

Instantly share code, notes, and snippets.

@earthling-shruti
Last active December 11, 2015 01:59
Show Gist options
  • Save earthling-shruti/4527498 to your computer and use it in GitHub Desktop.
Save earthling-shruti/4527498 to your computer and use it in GitHub Desktop.
new logic
@LOOPSTART
GOTO << @PULLEAST
@PULLEAST
CALLFF << @LOOK @EAST 2
DUP
EQUAL << @CELL_ROBOT
IFTGOTO << @PUNCHEAST
EQUAL << @CELL_RESOURCE
IFTGOTO << @EATEAST
GOTO << @PULLNORTH
@EATEAST
CALLFF << @PULL @EAST 2
POP
GOTO << @PULLNORTH
@PUNCHEAST
CALLFF << @PUNCH @EAST 2
POP
RETURN
@PULLNORTH
CALLFF << @LOOK @NORTH 2
DUP
EQUAL << @CELL_ROBOT
IFTGOTO << @MOVEBOTNORTH
EQUAL << @CELL_RESOURCE
IFTGOTO << @EATNORTH
GOTO << @PULLWEST
@EATNORTH
CALLFF << @PULL @NORTH 2
POP
GOTO << @PULLWEST
@PULLWEST
CALLFF << @LOOK @WEST 2
DUP
EQUAL << @CELL_ROBOT
IFTGOTO << @MOVEBOTWEST
EQUAL << @CELL_RESOURCE
IFTGOTO << @EATWEST
GOTO << @PULLSOUTH
@EATWEST
CALLFF << @PULL @WEST 2
POP
GOTO << @PULLSOUTH
@PULLSOUTH
CALLFF << @LOOK @SOUTH 2
DUP
EQUAL << @CELL_ROBOT
IFTGOTO << @MOVEBOTSOUTH
EQUAL << @CELL_RESOURCE
IFTGOTO << @EATSOUTH
CALLFF << @SCAN -1 -1 3
EQUAL << @CELL_RESOURCE
IFTGOTO << @PULLNORTHWEST
CALLFF << @SCAN -1 1 3
EQUAL << @CELL_RESOURCE
IFTGOTO << @PULLSOUTHWEST
GOTO << @LOOPEND
@EATSOUTH
CALLFF << @PULL @SOUTH 2
POP
CALLFF << @SCAN -1 -1 3
EQUAL << @CELL_RESOURCE
IFTGOTO << @PULLNORTHWEST
CALLFF << @SCAN -1 1 3
EQUAL << @CELL_RESOURCE
IFTGOTO << @PULLSOUTHWEST
GOTO << @LOOPEND
@LOOPEND
GOTO << @MOVEBOTEAST
@PULLNORTHWEST
CALLFF << @LOOK @NORTH 2
EQUAL << @CELL_ROBOT
IFTGOTO << @MOVEBOTWEST
GOTO << @MOVEBOTNORTH
@PULLSOUTHWEST
CALLFF << @LOOK @SOUTH 2
EQUAL << @CELL_ROBOT
IFTGOTO << @MOVEBOTEAST
GOTO << @MOVEBOTSOUTH
@MOVEBOTNORTH
CALLFF << @PUNCH @NORTH 2
POP
POP
CALLFF << @LOOK @NORTH 2
DUP
EQUAL << @CELL_ROBOT
IFTGOTO << @PULLWEST
EQUAL << @CELL_ROCK
IFTGOTO << @PULLWEST
CALLFF << @MOVE @NORTH 2
POP
GOTO << @LOOPSTART
@MOVEBOTWEST
CALLFF << @PUNCH @WEST 2
POP
POP
CALLFF << @LOOK @WEST 2
DUP
EQUAL << @CELL_ROBOT
IFTGOTO << @PULLSOUTH
EQUAL << @CELL_ROCK
IFTGOTO << @PULLSOUTH
CALLFF << @MOVE @WEST 2
POP
GOTO << @LOOPSTART
@MOVEBOTSOUTH
CALLFF << @PUNCH @SOUTH 2
POP
POP
CALLFF << @LOOK @SOUTH 2
DUP
EQUAL << @CELL_ROBOT
IFTGOTO << @PULLEAST
EQUAL << @CELL_ROCK
IFTGOTO << @PULLEAST
CALLFF << @MOVE @SOUTH 2
POP
GOTO << @LOOPSTART
@MOVEBOTEAST
CALLFF << @PUNCH @EAST 2
POP
#POP
CALLFF << @LOOK @EAST 2
DUP
EQUAL << @CELL_ROBOT
IFTGOTO << @PULLNORTH
EQUAL << @CELL_ROCK
IFTGOTO << @PULLNORTH
CALLFF << @MOVE @EAST 2
POP
GOTO << @LOOPSTART
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment