; 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