-allocfields, 9 -init _0_INIT -function list_length 1 _1_list_length: //if Nil Push Acc 1 Eq Jz _120_else Const 0 Return Jmp _121_endif _120_else: //Local call to list_length PushSf _2_returnfrom_local_list_length Acc 2 Cdr Push Rev 1 Call list_length _2_returnfrom_local_list_length: Push Const 1 Add Return _121_endif: //endif //end function list_length Const Return -function list_map 2 _3_list_map: //if Nil Push Acc 2 Eq Jz _122_else Nil Return Jmp _123_endif _122_else: //Local call to foo PushSf _4_returnfrom_local_foo Acc 3 Car Push Rev 1 Acc 3 Apply _4_returnfrom_local_foo: Push //Local call to list_map PushSf _5_returnfrom_local_list_map Acc 3 Push Acc 5 Cdr Push Rev 2 Call list_map _5_returnfrom_local_list_map: Cons Return _123_endif: //endif //end function list_map Const Return -function list_filter 2 _6_list_filter: //if Nil Push Acc 2 Eq Jz _124_else Nil Return Jmp _125_endif _124_else: //if //Local call to predicate PushSf _7_returnfrom_local_predicate Acc 3 Car Push Rev 1 Acc 3 Apply _7_returnfrom_local_predicate: Jz _126_else Acc 1 Car Push //Local call to list_filter PushSf _8_returnfrom_local_list_filter Acc 3 Push Acc 5 Cdr Push Rev 2 Call list_filter _8_returnfrom_local_list_filter: Cons Return Jmp _127_endif _126_else: //Local call to list_filter PushSf _9_returnfrom_local_list_filter Acc 2 Push Acc 4 Cdr Push Rev 2 Call list_filter _9_returnfrom_local_list_filter: Return _127_endif: //endif _125_endif: //endif //end function list_filter Const Return -function list_foldr 3 _10_list_foldr: //if Nil Push Acc 3 Eq Jz _128_else Acc 1 Return Jmp _129_endif _128_else: //Local call to fun PushSf _12_returnfrom_local_fun Acc 4 Car Push //Local call to list_foldr PushSf _11_returnfrom_local_list_foldr Acc 5 Push Acc 7 Push Acc 9 Cdr Push Rev 3 Call list_foldr _11_returnfrom_local_list_foldr: Push Rev 2 Acc 4 Apply _12_returnfrom_local_fun: Return _129_endif: //endif //end function list_foldr Const Return -function list_foldl 3 _13_list_foldl: //if Nil Push Acc 3 Eq Jz _130_else Acc 1 Return Jmp _131_endif _130_else: //Local call to list_foldl PushSf _15_returnfrom_local_list_foldl Acc 2 Push //Local call to fun PushSf _14_returnfrom_local_fun Acc 6 Push Acc 8 Car Push Rev 2 Acc 7 Apply _14_returnfrom_local_fun: Push Acc 6 Cdr Push Rev 3 Call list_foldl _15_returnfrom_local_list_foldl: Return _131_endif: //endif //end function list_foldl Const Return -function on_init 1 _16_on_init: //Local call to __on_init PushSf _17_returnfrom_local___on_init Acc 2 Push Rev 1 GetField 0 Apply _17_returnfrom_local___on_init: //end function on_init Const Return -function on_move_request 1 _18_on_move_request: //Local call to __on_move_request PushSf _19_returnfrom_local___on_move_request Acc 2 Push Rev 1 GetField 1 Apply _19_returnfrom_local___on_move_request: Return //end function on_move_request Const Return -function on_teammate_death 0 _20_on_teammate_death: //Local call to __on_teammate_death PushSf _21_returnfrom_local___on_teammate_death Rev 0 GetField 2 Apply _21_returnfrom_local___on_teammate_death: Const Return //end function on_teammate_death Const Return -function on_bomb_detonate 1 _22_on_bomb_detonate: //Local call to __on_bomb_detonate PushSf _23_returnfrom_local___on_bomb_detonate Acc 2 Push Rev 1 GetField 3 Apply _23_returnfrom_local___on_bomb_detonate: Const Return //end function on_bomb_detonate Const Return -function on_death 0 _24_on_death: //Local call to __on_death PushSf _25_returnfrom_local___on_death Rev 0 GetField 4 Apply _25_returnfrom_local___on_death: Const Return //end function on_death Const Return -function registerOnInit 1 _26_registerOnInit: Acc 0 SetField 0 Const Return //end function registerOnInit Const Return -function registerOnMoveRequest 1 _27_registerOnMoveRequest: Acc 0 SetField 1 Const Return //end function registerOnMoveRequest Const Return -function registerOnTeammateDeath 1 _28_registerOnTeammateDeath: Acc 0 SetField 2 Const Return //end function registerOnTeammateDeath Const Return -function registerOnBombDetonate 1 _29_registerOnBombDetonate: Acc 0 SetField 3 Const Return //end function registerOnBombDetonate Const Return -function registerOnDeath 1 _30_registerOnDeath: Acc 0 SetField 4 Const Return //end function registerOnDeath Const Return -function registerCallbackSet 1 _31_registerCallbackSet: //Remote call with no result to print PushSf _32_returnfrom_local_print Const "Registering a callback set with onMoveRequest function '" Push Rev 1 RPC print _32_returnfrom_local_print: Swap Acc 0 Pop //Remote call with no result to print PushSf _33_returnfrom_local_print Acc 2 GetElem 1 Push Rev 1 RPC print _33_returnfrom_local_print: Swap Acc 0 Pop //Remote call with no result to print PushSf _34_returnfrom_local_print Const "'.\n" Push Rev 1 RPC print _34_returnfrom_local_print: Swap Acc 0 Pop //Local call to registerOnInit PushSf _35_returnfrom_local_registerOnInit Acc 2 GetElem 0 Push Rev 1 Call registerOnInit _35_returnfrom_local_registerOnInit: //Local call to registerOnMoveRequest PushSf _36_returnfrom_local_registerOnMoveRequest Acc 2 GetElem 1 Push Rev 1 Call registerOnMoveRequest _36_returnfrom_local_registerOnMoveRequest: //Local call to registerOnTeammateDeath PushSf _37_returnfrom_local_registerOnTeammateDeath Acc 2 GetElem 2 Push Rev 1 Call registerOnTeammateDeath _37_returnfrom_local_registerOnTeammateDeath: //Local call to registerOnBombDetonate PushSf _38_returnfrom_local_registerOnBombDetonate Acc 2 GetElem 3 Push Rev 1 Call registerOnBombDetonate _38_returnfrom_local_registerOnBombDetonate: //Local call to registerOnDeath PushSf _39_returnfrom_local_registerOnDeath Acc 2 GetElem 4 Push Rev 1 Call registerOnDeath _39_returnfrom_local_registerOnDeath: //end function registerCallbackSet Const Return -function fsmGenerateId 0 _40_fsmGenerateId: //if GetField 5 IsNull Jz _132_else Const 1 SetField 5 Const 0 Return Jmp _133_endif _132_else: Const 1 Push GetField 5 Add SetField 5 Const 1 Push GetField 5 Sub Return _133_endif: //endif //end function fsmGenerateId Const Return -function getTransition 3 _41_getTransition: //for Const Push _134_for_test: Nil Push Acc 2 Neq Jz _135_for_end Acc 1 Car Push Acc 0 GetElem 1 Push Const 1 Push //for Const Push _136_for_test: Nil Push Acc 3 Neq Jz _137_for_end Acc 2 Car Push //if //Local call to curPredicate PushSf _42_returnfrom_local_curPredicate Acc 9 Push Rev 1 Acc 3 Apply _42_returnfrom_local_curPredicate: Push Const 1 Add Push Const 2 Swap RemI Jz _138_else Const 0 Assign 2 Pop Jmp _137_for_end Jmp _139_endif _138_else: _139_endif: //endif Pop Acc 2 Cdr Assign 2 Jmp _136_for_test _137_for_end: Pop //end for //if Acc 0 Jz _140_else Acc 2 GetElem 0 Return Jmp _141_endif _140_else: _141_endif: //endif Pop Pop Pop Acc 1 Cdr Assign 1 Jmp _134_for_test _135_for_end: Pop //end for Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Acc 3 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Nil Cons Return //end function getTransition Const Return -function addTargetWeights 2 _43_addTargetWeights: Acc 1 Push Acc 1 GetElem 1 Add Return //end function addTargetWeights Const Return -function getTargetState 1 _44_getTargetState: //Local call to list_foldr PushSf _45_returnfrom_local_list_foldr Const "addTargetWeights" Push Const 0. Push Acc 4 Push Rev 3 Call list_foldr _45_returnfrom_local_list_foldr: Push Const 0. Push //Remote call with result to rand PushSf _46_returnfrom_remote_withresult_rand Rev 0 RPC rand _46_returnfrom_remote_withresult_rand: Jz _47_done_interpreting_remote_results_rand Swap Assign 1 Swap _47_done_interpreting_remote_results_rand: Swap Acc 0 Pop Acc 1 Push Acc 1 Mul Assign 0 Acc 2 Car Push //while _142_while: Nil Push Acc 4 Cdr Neq Push Acc 1 GetElem 1 Push Acc 4 Gt And Jz _143_wend Acc 0 GetElem 1 Push Acc 3 Sub Assign 2 Acc 3 Cdr Assign 3 Acc 3 Car Assign 0 Jmp _142_while _143_wend: //wend Acc 0 GetElem 0 Return //end function getTargetState Const Return -function advanceFSM 1 _48_advanceFSM: //Local call to getTargetState PushSf _50_returnfrom_local_getTargetState //Local call to getTransition PushSf _49_returnfrom_local_getTransition Acc 4 GetElem 1 GetElem 3 Push Acc 5 GetElem 2 Push Acc 6 GetElem 1 GetElem 0 Push Rev 3 Call getTransition _49_returnfrom_local_getTransition: Push Rev 1 Call getTargetState _50_returnfrom_local_getTargetState: Push Acc 1 GetElem 0 Push Const Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Nil Push Rev 4 MakeBlockStatic 1 4 Push //for Const 0 Push _144_for_test: Nil Push Acc 3 Neq Jz _145_for_end Acc 2 Car Assign 1 //if Acc 3 Push Acc 2 GetElem 0 Eq Jz _146_else Jmp _145_for_end Jmp _147_endif _146_else: _147_endif: //endif Acc 2 Cdr Assign 2 Jmp _144_for_test _145_for_end: Pop //end for //if Acc 0 GetElem 0 Push Acc 4 GetElem 1 GetElem 0 Neq Jz _148_else Acc 3 GetElem 3 Push Acc 1 GetElem 2 SetElem 0 Acc 0 GetElem 1 Push Acc 1 Push Acc 5 SetElem 1 //Local call to init PushSf _51_returnfrom_local_init Rev 0 Acc 2 Apply _51_returnfrom_local_init: Pop Jmp _149_endif _148_else: _149_endif: //endif Const Return //end function advanceFSM Const Return -function __fsm_handle_onInit 1 _52___fsm_handle_onInit: GetField 6 GetElem 3 Push //Local call to forwardTo PushSf _53_returnfrom_local_forwardTo Acc 3 Push Rev 1 Acc 3 Apply _53_returnfrom_local_forwardTo: Const Return //end function __fsm_handle_onInit Const Return -function __fsm_handle_onMoveRequest 1 _54___fsm_handle_onMoveRequest: Acc 0 Push GetField 6 GetElem 2 SetElem 0 Acc 0 GetElem 4 GetElem 0 Push GetField 6 GetElem 2 SetElem 1 //Local call to advanceFSM PushSf _55_returnfrom_local_advanceFSM GetField 6 Push Rev 1 Call advanceFSM _55_returnfrom_local_advanceFSM: GetField 6 GetElem 1 GetElem 2 GetElem 1 Push //Local call to forwardTo PushSf _56_returnfrom_local_forwardTo Acc 3 Push Rev 1 Acc 3 Apply _56_returnfrom_local_forwardTo: Return //end function __fsm_handle_onMoveRequest Const Return -function __fsm_handle_onTeammateDeath 0 _57___fsm_handle_onTeammateDeath: //Local call to advanceFSM PushSf _58_returnfrom_local_advanceFSM GetField 6 Push Rev 1 Call advanceFSM _58_returnfrom_local_advanceFSM: GetField 6 GetElem 1 GetElem 2 GetElem 2 Push //Local call to forwardTo PushSf _59_returnfrom_local_forwardTo Rev 0 Acc 2 Apply _59_returnfrom_local_forwardTo: Const Return //end function __fsm_handle_onTeammateDeath Const Return -function __fsm_handle_onBombDetonate 1 _60___fsm_handle_onBombDetonate: Acc 0 Push GetField 6 GetElem 2 SetElem 2 //Local call to advanceFSM PushSf _61_returnfrom_local_advanceFSM GetField 6 Push Rev 1 Call advanceFSM _61_returnfrom_local_advanceFSM: GetField 6 GetElem 1 GetElem 2 GetElem 3 Push //Local call to forwardTo PushSf _62_returnfrom_local_forwardTo Acc 3 Push Rev 1 Acc 3 Apply _62_returnfrom_local_forwardTo: Const Return //end function __fsm_handle_onBombDetonate Const Return -function __fsm_handle_onDeath 0 _63___fsm_handle_onDeath: //Local call to advanceFSM PushSf _64_returnfrom_local_advanceFSM GetField 6 Push Rev 1 Call advanceFSM _64_returnfrom_local_advanceFSM: GetField 6 GetElem 1 GetElem 2 GetElem 4 Push //Local call to forwardTo PushSf _65_returnfrom_local_forwardTo Rev 0 Acc 2 Apply _65_returnfrom_local_forwardTo: Const Return //end function __fsm_handle_onDeath Const Return -function registerFSM 1 _66_registerFSM: //Remote call with no result to print PushSf _67_returnfrom_local_print Const "registerFSM has been called.\n" Push Rev 1 RPC print _67_returnfrom_local_print: Swap Acc 0 Pop Acc 0 SetField 6 Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Const "__fsm_handle_onInit" Push Acc 1 SetElem 0 Const "__fsm_handle_onMoveRequest" Push Acc 1 SetElem 1 Const "__fsm_handle_onTeammateDeath" Push Acc 1 SetElem 2 Const "__fsm_handle_onBombDetonate" Push Acc 1 SetElem 3 Const "__fsm_handle_onDeath" Push Acc 1 SetElem 4 //Local call to registerCallbackSet PushSf _68_returnfrom_local_registerCallbackSet Acc 2 Push Rev 1 Call registerCallbackSet _68_returnfrom_local_registerCallbackSet: Const Return //end function registerFSM Const Return -function doNothing0 1 _69_doNothing0: Const Return //end function doNothing0 Const Return -function string_of_direction 1 _70_string_of_direction: //if Const 1 Push Acc 1 Eq Jz _150_else Const "Heading North.\n" Return Jmp _151_endif _150_else: //if Const 3 Push Acc 1 Eq Jz _152_else Const "Heading East.\n" Return Jmp _153_endif _152_else: //if Const 2 Push Acc 1 Eq Jz _154_else Const "Heading South.\n" Return Jmp _155_endif _154_else: //if Const 4 Push Acc 1 Eq Jz _156_else Const "Heading West.\n" Return Jmp _157_endif _156_else: Const "Staying put.\n" Return _157_endif: //endif _155_endif: //endif _153_endif: //endif _151_endif: //endif //end function string_of_direction Const Return -function string_of_deployment 1 _71_string_of_deployment: //if Const 0 Push Acc 1 Eq Jz _158_else Const "Starting\n" Return Jmp _159_endif _158_else: //if Const 1 Push Acc 1 Eq Jz _160_else Const "Backtracking\n" Return Jmp _161_endif _160_else: //if Const 2 Push Acc 1 Eq Jz _162_else Const "Retracing\n" Return Jmp _163_endif _162_else: //if Const 3 Push Acc 1 Eq Jz _164_else Const "Turning\n" Return Jmp _165_endif _164_else: //if Const 4 Push Acc 1 Eq Jz _166_else Const "Done\n" Return Jmp _167_endif _166_else: _167_endif: //endif _165_endif: //endif _163_endif: //endif _161_endif: //endif _159_endif: //endif //end function string_of_deployment Const Return -function resetBombDeployment 0 _72_resetBombDeployment: Const 0 SetField 8 Const Return //end function resetBombDeployment Const Return -function doNothing1 0 _73_doNothing1: Const Return //end function doNothing1 Const Return -function chooseRandomDirection 1 _74_chooseRandomDirection: Const 1 Push Const 3 Push Const 2 Push Const 4 Push Rev 4 MakeBlockStatic 0 4 Push Const 0. Push //Remote call with result to rand PushSf _75_returnfrom_remote_withresult_rand Rev 0 RPC rand _75_returnfrom_remote_withresult_rand: Jz _76_done_interpreting_remote_results_rand Swap Assign 1 Swap _76_done_interpreting_remote_results_rand: Swap Acc 0 Pop Const 3 Push Acc 1 Mul Int Push Acc 2 GetElem SetField 7 //end function chooseRandomDirection Const Return -function reverseDirection 0 _77_reverseDirection: //if Const 1 Push GetField 7 Eq Jz _168_else Const 2 SetField 7 Jmp _169_endif _168_else: //if Const 3 Push GetField 7 Eq Jz _170_else Const 4 SetField 7 Jmp _171_endif _170_else: //if Const 2 Push GetField 7 Eq Jz _172_else Const 1 SetField 7 Jmp _173_endif _172_else: //if Const 4 Push GetField 7 Eq Jz _174_else Const 3 SetField 7 Jmp _175_endif _174_else: _175_endif: //endif _173_endif: //endif _171_endif: //endif _169_endif: //endif Const Return //end function reverseDirection Const Return -function getRightTurn 1 _78_getRightTurn: //if Const 1 Push Acc 1 Eq Jz _176_else Const 3 Return Jmp _177_endif _176_else: //if Const 3 Push Acc 1 Eq Jz _178_else Const 2 Return Jmp _179_endif _178_else: //if Const 2 Push Acc 1 Eq Jz _180_else Const 4 Return Jmp _181_endif _180_else: //if Const 4 Push Acc 1 Eq Jz _182_else Const 1 Return Jmp _183_endif _182_else: Const 0 Return _183_endif: //endif _181_endif: //endif _179_endif: //endif _177_endif: //endif //end function getRightTurn Const Return -function getLeftTurn 1 _79_getLeftTurn: //if Const 1 Push Acc 1 Eq Jz _184_else Const 4 Return Jmp _185_endif _184_else: //if Const 3 Push Acc 1 Eq Jz _186_else Const 1 Return Jmp _187_endif _186_else: //if Const 2 Push Acc 1 Eq Jz _188_else Const 3 Return Jmp _189_endif _188_else: //if Const 4 Push Acc 1 Eq Jz _190_else Const 2 Return Jmp _191_endif _190_else: Const 0 Return _191_endif: //endif _189_endif: //endif _187_endif: //endif _185_endif: //endif //end function getLeftTurn Const Return -function movingMoveRequest 1 _80_movingMoveRequest: Const 0 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push GetField 7 Push Acc 1 SetElem 2 Const 0 Push Acc 1 SetElem 0 Const 0 Push Acc 1 SetElem 1 Acc 0 Return //end function movingMoveRequest Const Return -function deadEndMoveRequest 1 _81_deadEndMoveRequest: //Local call to reverseDirection PushSf _82_returnfrom_local_reverseDirection Rev 0 Call reverseDirection _82_returnfrom_local_reverseDirection: Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push GetField 7 Push Acc 1 SetElem 2 Const 0 Push Acc 1 SetElem 0 Const 0 Push Acc 1 SetElem 1 Acc 0 Return //end function deadEndMoveRequest Const Return -function rightCornerMoveRequest 1 _83_rightCornerMoveRequest: //Remote call with no result to print PushSf _85_returnfrom_local_print //Local call to string_of_deployment PushSf _84_returnfrom_local_string_of_deployment GetField 8 Push Rev 1 Call string_of_deployment _84_returnfrom_local_string_of_deployment: Push Rev 1 RPC print _85_returnfrom_local_print: Swap Acc 0 Pop //if Const 0 Push GetField 8 Eq Jz _192_else Const 1 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push Const 0 Push Acc 1 SetElem 0 Const 0 Push Acc 1 SetElem 1 //Local call to reverseDirection PushSf _86_returnfrom_local_reverseDirection Rev 0 Call reverseDirection _86_returnfrom_local_reverseDirection: GetField 7 Push Acc 1 SetElem 2 //Local call to reverseDirection PushSf _87_returnfrom_local_reverseDirection Rev 0 Call reverseDirection _87_returnfrom_local_reverseDirection: Acc 0 Return Pop Jmp _193_endif _192_else: //if Const 1 Push GetField 8 Eq Jz _194_else Const 2 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push Const 1 Push Acc 1 SetElem 0 Const 1 Push Acc 1 SetElem 1 GetField 7 Push Acc 1 SetElem 2 Acc 0 Return Pop Jmp _195_endif _194_else: //if Const 2 Push GetField 8 Eq Jz _196_else Const 3 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push Const 0 Push Acc 1 SetElem 0 Const 0 Push Acc 1 SetElem 1 //Local call to getRightTurn PushSf _88_returnfrom_local_getRightTurn GetField 7 Push Rev 1 Call getRightTurn _88_returnfrom_local_getRightTurn: SetField 7 GetField 7 Push Acc 1 SetElem 2 Acc 0 Return Pop Jmp _197_endif _196_else: Const 4 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push Const 0 Push Acc 1 SetElem 0 Const 0 Push Acc 1 SetElem 1 GetField 7 Push Acc 1 SetElem 2 Acc 0 Return Pop _197_endif: //endif _195_endif: //endif _193_endif: //endif //end function rightCornerMoveRequest Const Return -function leftCornerMoveRequest 1 _89_leftCornerMoveRequest: //Remote call with no result to print PushSf _91_returnfrom_local_print //Local call to string_of_deployment PushSf _90_returnfrom_local_string_of_deployment GetField 8 Push Rev 1 Call string_of_deployment _90_returnfrom_local_string_of_deployment: Push Rev 1 RPC print _91_returnfrom_local_print: Swap Acc 0 Pop //if Const 0 Push GetField 8 Eq Jz _198_else Const 1 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push Const 0 Push Acc 1 SetElem 0 Const 0 Push Acc 1 SetElem 1 //Local call to reverseDirection PushSf _92_returnfrom_local_reverseDirection Rev 0 Call reverseDirection _92_returnfrom_local_reverseDirection: GetField 7 Push Acc 1 SetElem 2 Acc 0 Return Pop Jmp _199_endif _198_else: //if Const 1 Push GetField 8 Eq Jz _200_else Const 2 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push Const 1 Push Acc 1 SetElem 0 Const 1 Push Acc 1 SetElem 1 //Local call to reverseDirection PushSf _93_returnfrom_local_reverseDirection Rev 0 Call reverseDirection _93_returnfrom_local_reverseDirection: GetField 7 Push Acc 1 SetElem 2 Acc 0 Return Pop Jmp _201_endif _200_else: //if Const 2 Push GetField 8 Eq Jz _202_else Const 3 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push Const 0 Push Acc 1 SetElem 0 Const 0 Push Acc 1 SetElem 1 //Local call to getLeftTurn PushSf _94_returnfrom_local_getLeftTurn GetField 7 Push Rev 1 Call getLeftTurn _94_returnfrom_local_getLeftTurn: SetField 7 GetField 7 Push Acc 1 SetElem 2 Acc 0 Return Pop Jmp _203_endif _202_else: Const 4 SetField 8 Const Push Const Push Const Push Rev 3 MakeBlockStatic 1 3 Push Const 0 Push Acc 1 SetElem 0 Const 0 Push Acc 1 SetElem 1 GetField 7 Push Acc 1 SetElem 2 Acc 0 Return Pop _203_endif: //endif _201_endif: //endif _199_endif: //endif //end function leftCornerMoveRequest Const Return -function isFree 2 _95_isFree: Acc 1 GetElem 0 GetElem 0 Push Acc 1 GetElem 1 Push Acc 2 GetElem 0 Push Acc 2 GetElem GetElem Push Const 2 Push Acc 1 Neq Push Const 3 Push Acc 2 Neq And Return //end function isFree Const Return -function getNextPosition 2 _96_getNextPosition: Const 0 Push Const 0 Push //if Const 1 Push Acc 4 Eq Jz _204_else Const 1 Neg Assign 0 Jmp _205_endif _204_else: //if Const 3 Push Acc 4 Eq Jz _206_else Const 1 Assign 1 Jmp _207_endif _206_else: //if Const 2 Push Acc 4 Eq Jz _208_else Const 1 Assign 0 Jmp _209_endif _208_else: //if Const 4 Push Acc 4 Eq Jz _210_else Const 1 Neg Assign 1 Jmp _211_endif _210_else: _211_endif: //endif _209_endif: //endif _207_endif: //endif _205_endif: //endif Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Acc 2 Push Acc 4 GetElem 0 Add Push Acc 1 SetElem 0 Acc 1 Push Acc 4 GetElem 1 Add Push Acc 1 SetElem 1 Acc 0 Return //end function getNextPosition Const Return -function alwaysTrue 1 _97_alwaysTrue: Const 1 Return //end function alwaysTrue Const Return -function predIsBlocked 1 _98_predIsBlocked: //Local call to isFree PushSf _100_returnfrom_local_isFree //Local call to getNextPosition PushSf _99_returnfrom_local_getNextPosition Acc 4 GetElem 1 Push GetField 7 Push Rev 2 Call getNextPosition _99_returnfrom_local_getNextPosition: Push Acc 3 Push Rev 2 Call isFree _100_returnfrom_local_isFree: Return //end function predIsBlocked Const Return -function predNotBlocked 1 _101_predNotBlocked: //Local call to predIsBlocked PushSf _102_returnfrom_local_predIsBlocked Acc 2 Push Rev 1 Call predIsBlocked _102_returnfrom_local_predIsBlocked: Push Const 1 Add Push Const 2 Swap RemI Return //end function predNotBlocked Const Return -function predRightTurnMoveOption 1 _103_predRightTurnMoveOption: //Local call to isFree PushSf _106_returnfrom_local_isFree //Local call to getNextPosition PushSf _105_returnfrom_local_getNextPosition Acc 4 GetElem 1 Push //Local call to getRightTurn PushSf _104_returnfrom_local_getRightTurn GetField 7 Push Rev 1 Call getRightTurn _104_returnfrom_local_getRightTurn: Push Rev 2 Call getNextPosition _105_returnfrom_local_getNextPosition: Push Acc 3 Push Rev 2 Call isFree _106_returnfrom_local_isFree: Return //end function predRightTurnMoveOption Const Return -function predLeftTurnMoveOption 1 _107_predLeftTurnMoveOption: //Local call to isFree PushSf _110_returnfrom_local_isFree //Local call to getNextPosition PushSf _109_returnfrom_local_getNextPosition Acc 4 GetElem 1 Push //Local call to getLeftTurn PushSf _108_returnfrom_local_getLeftTurn GetField 7 Push Rev 1 Call getLeftTurn _108_returnfrom_local_getLeftTurn: Push Rev 2 Call getNextPosition _109_returnfrom_local_getNextPosition: Push Acc 3 Push Rev 2 Call isFree _110_returnfrom_local_isFree: Return //end function predLeftTurnMoveOption Const Return -function predDeadEnd 1 _111_predDeadEnd: //Local call to predLeftTurnMoveOption PushSf _114_returnfrom_local_predLeftTurnMoveOption Acc 2 Push Rev 1 Call predLeftTurnMoveOption _114_returnfrom_local_predLeftTurnMoveOption: Push Const 1 Add Push Const 2 Swap RemI Push //Local call to predRightTurnMoveOption PushSf _113_returnfrom_local_predRightTurnMoveOption Acc 3 Push Rev 1 Call predRightTurnMoveOption _113_returnfrom_local_predRightTurnMoveOption: Push Const 1 Add Push Const 2 Swap RemI Push //Local call to predIsBlocked PushSf _112_returnfrom_local_predIsBlocked Acc 4 Push Rev 1 Call predIsBlocked _112_returnfrom_local_predIsBlocked: And And Return //end function predDeadEnd Const Return -function isDoneBombPlanting 1 _115_isDoneBombPlanting: Const 4 Push GetField 8 Eq Return //end function isDoneBombPlanting Const Return -function runnerAI 0 _116_runnerAI: Nil Push Const Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Nil Push Rev 4 MakeBlockStatic 1 4 Push Const Push Const 0 MakeFilledBlock 0 Push Const 0 MakeFilledBlock 0 Push Nil Push Nil Push Nil Push Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const Push Const Push Const Push Const Push Const Push Const Push Const Push Const Push Rev 9 MakeBlockStatic 1 9 Push Rev 5 MakeBlockStatic 1 5 Push Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Rev 3 MakeBlockStatic 1 3 Push Const "" Push Rev 4 MakeBlockStatic 1 4 Push Const "chooseRandomDirection" Push Acc 1 SetElem 3 Const Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Nil Push Rev 4 MakeBlockStatic 1 4 Push Const 0 Push Acc 1 SetElem 0 Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Const "resetBombDeployment" Push Acc 2 SetElem 1 Const "movingMoveRequest" Push Acc 1 SetElem 1 Const "doNothing1" Push Acc 1 SetElem 2 Const "doNothing0" Push Acc 1 SetElem 3 Const "doNothing1" Push Acc 1 SetElem 4 Acc 0 Push Acc 2 SetElem 2 Nil Push Nil Push Rev 2 MakeBlockStatic 1 2 Push Const "alwaysTrue" Push Nil Cons Push Acc 1 SetElem 1 Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const 2 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Acc 2 GetElem 0 Cons Push Acc 2 SetElem 0 Acc 1 Push Acc 4 GetElem 3 Cons Push Acc 4 SetElem 3 Const Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Nil Push Rev 4 MakeBlockStatic 1 4 Push Const 2 Push Acc 1 SetElem 0 Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Const "resetBombDeployment" Push Acc 2 SetElem 1 Const "movingMoveRequest" Push Acc 1 SetElem 1 Const "doNothing1" Push Acc 1 SetElem 2 Const "doNothing0" Push Acc 1 SetElem 3 Const "doNothing1" Push Acc 1 SetElem 4 Acc 0 Push Acc 2 SetElem 2 Nil Push Nil Push Rev 2 MakeBlockStatic 1 2 Push Const "predNotBlocked" Push Nil Cons Push Acc 1 SetElem 1 Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const 2 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Acc 2 GetElem 0 Cons Push Acc 2 SetElem 0 Acc 1 Push Acc 4 GetElem 3 Cons Push Acc 4 SetElem 3 Nil Push Nil Push Rev 2 MakeBlockStatic 1 2 Push Const "predIsBlocked" Push Const "predDeadEnd" Push Nil Cons Cons Push Acc 1 SetElem 1 Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const 7 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Acc 2 GetElem 0 Cons Push Acc 2 SetElem 0 Acc 1 Push Acc 6 GetElem 3 Cons Push Acc 6 SetElem 3 Nil Push Nil Push Rev 2 MakeBlockStatic 1 2 Push Const "predIsBlocked" Push Const "predRightTurnMoveOption" Push Nil Cons Cons Push Acc 1 SetElem 1 Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const 10 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Acc 2 GetElem 0 Cons Push Acc 2 SetElem 0 Acc 1 Push Acc 8 GetElem 3 Cons Push Acc 8 SetElem 3 Nil Push Nil Push Rev 2 MakeBlockStatic 1 2 Push Const "predIsBlocked" Push Const "predLeftTurnMoveOption" Push Nil Cons Cons Push Acc 1 SetElem 1 Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const 13 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Acc 2 GetElem 0 Cons Push Acc 2 SetElem 0 Acc 1 Push Acc 10 GetElem 3 Cons Push Acc 10 SetElem 3 Const Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Nil Push Rev 4 MakeBlockStatic 1 4 Push Const 7 Push Acc 1 SetElem 0 Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Const "doNothing1" Push Acc 2 SetElem 1 Const "deadEndMoveRequest" Push Acc 1 SetElem 1 Const "doNothing1" Push Acc 1 SetElem 2 Const "doNothing0" Push Acc 1 SetElem 3 Const "doNothing1" Push Acc 1 SetElem 4 Acc 0 Push Acc 2 SetElem 2 Nil Push Nil Push Rev 2 MakeBlockStatic 1 2 Push Const "alwaysTrue" Push Nil Cons Push Acc 1 SetElem 1 Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const 2 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Acc 2 GetElem 0 Cons Push Acc 2 SetElem 0 Acc 1 Push Acc 4 GetElem 3 Cons Push Acc 4 SetElem 3 Const Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Nil Push Rev 4 MakeBlockStatic 1 4 Push Const 10 Push Acc 1 SetElem 0 Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Const "doNothing1" Push Acc 2 SetElem 1 Const "rightCornerMoveRequest" Push Acc 1 SetElem 1 Const "doNothing1" Push Acc 1 SetElem 2 Const "doNothing0" Push Acc 1 SetElem 3 Const "doNothing1" Push Acc 1 SetElem 4 Acc 0 Push Acc 2 SetElem 2 Nil Push Nil Push Rev 2 MakeBlockStatic 1 2 Push Const "isDoneBombPlanting" Push Nil Cons Push Acc 1 SetElem 1 Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const 2 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Acc 2 GetElem 0 Cons Push Acc 2 SetElem 0 Acc 1 Push Acc 4 GetElem 3 Cons Push Acc 4 SetElem 3 Const Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Nil Push Rev 4 MakeBlockStatic 1 4 Push Const 13 Push Acc 1 SetElem 0 Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Const "doNothing1" Push Acc 2 SetElem 1 Const "leftCornerMoveRequest" Push Acc 1 SetElem 1 Const "doNothing1" Push Acc 1 SetElem 2 Const "doNothing0" Push Acc 1 SetElem 3 Const "doNothing1" Push Acc 1 SetElem 4 Acc 0 Push Acc 2 SetElem 2 Nil Push Nil Push Rev 2 MakeBlockStatic 1 2 Push Const "isDoneBombPlanting" Push Nil Cons Push Acc 1 SetElem 1 Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const 2 Push Acc 1 SetElem 0 Const 1. Push Acc 1 SetElem 1 Acc 0 Push Acc 2 GetElem 0 Cons Push Acc 2 SetElem 0 Acc 1 Push Acc 4 GetElem 3 Cons Push Acc 4 SetElem 3 Acc 25 Push Acc 27 SetElem 1 Acc 25 Push Acc 22 Push Acc 13 Push Acc 10 Push Acc 7 Push Nil Cons Cons Cons Cons Cons Push Acc 27 SetElem 0 Acc 26 Return //end function runnerAI Const Return -function main 0 _117_main: //Local call to runnerAI PushSf _118_returnfrom_local_runnerAI Rev 0 Call runnerAI _118_returnfrom_local_runnerAI: Push //Local call to registerFSM PushSf _119_returnfrom_local_registerFSM Acc 2 Push Rev 1 Call registerFSM _119_returnfrom_local_registerFSM: //end function main Const Return -function _0_INIT 0 _0_INIT: Const "" SetField 0 Const "" SetField 1 Const "" SetField 2 Const "" SetField 3 Const "" SetField 4 Const SetField 5 Nil Push Const Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Const "" Push Rev 5 MakeBlockStatic 1 5 Push Nil Push Rev 4 MakeBlockStatic 1 4 Push Const Push Const 0 MakeFilledBlock 0 Push Const 0 MakeFilledBlock 0 Push Nil Push Nil Push Nil Push Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const Push Const Push Const Push Const Push Const Push Const Push Const Push Const Push Rev 9 MakeBlockStatic 1 9 Push Rev 5 MakeBlockStatic 1 5 Push Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Const Push Const Push Rev 2 MakeBlockStatic 1 2 Push Rev 3 MakeBlockStatic 1 3 Push Const "" Push Rev 4 MakeBlockStatic 1 4 SetField 6 Const SetField 7 Const SetField 8 Return