; This routine reminds
me of FComm code.
; It's the first thing I did after I started back
at AIWars.
ecloaked:
-- explain
scan perimeter
-- explain
goto #scan
-- explain
if value #random = 4 then goto
zigzag
if bump barrier then goto
cloakbarrier
generate random
-- explain
move forward
if value #enemy_x = 0 then if value #inbound =
0 then goto ecloaked
-- explain
if value #y_pos = #enemy_y then goto
same_y_ #cur_head -- explain
if value #x_pos = #enemy_x then goto
same_x_ #cur_head -- explain
if value #inbound <> 0 then goto
locked_ #cur_head #inbound --
explain
gosub
err_ #cur_head -- explain
zigzag:
-- explain
if value #random = 3 then turn right
if value #random = 4 then turn left
if value #y_pos = #enemy_y then goto
same_y_ #cur_head -- explain
if value #x_pos = #enemy_x then goto
same_x_ #cur_head -- explain
if value #inbound <> 0 then goto
locked_ #cur_head #inbound --
explain
scan perimeter
-- explain
goto #scan
-- explain
generate random
-- explain
move forward
if value #enemy_x = 0 then if value #inbound =
0 then goto ecloaked
if value #y_pos = #enemy_y then goto
same_y_ #cur_head -- explain
if value #x_pos = #enemy_x then goto
same_x_ #cur_head -- explain
if value #inbound <> 0 then goto
locked_ #cur_head #inbound --
explain
gosub
err_ #cur_head -- explain
cloakbarrier:
-- explain
move backward
if value #y_pos = #enemy_y then goto
same_y_ #cur_head -- explain
if value #x_pos = #enemy_x then goto
same_x_ #cur_head -- explain
scan perimeter
-- explain
goto #scan
-- explain
generate random
-- explain
if value #random >= 3 then assign v1 turn right
-- explain
if value #random <= 2 then assign v1 turn left
-- explain
~v1 --
explain
if value #enemy_x = 0 then if value #inbound =
0 then goto ecloaked
if value #y_pos = #enemy_y then goto
same_y_ #cur_head -- explain
if value #x_pos = #enemy_x then goto
same_x_ #cur_head -- explain
if value #inbound <> 0 then goto
locked_ #cur_head #inbound --
explain
gosub
err_ #cur_head -- explain