<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Bean>
<Bean class="com.chaosserver.aitank.tank.AiTank">
  <Property name="Name">
    <Object class="java.lang.String">Basher</Object>
  </Property>
  <Property name="CommandSequences">

    <tankcommands>
      <label name="START">
        <command name="assign">
          <param value="currentAction"/>
          <param value="'ATTACK'"/>
        </command>
        <command name="goto">
          <param value="'BEGIN'"/>
        </command>
      </label>

      <label name="BEGIN">
        <command name="ping">
          <return name="numOfTanks"/>
        </command>
        <command name="compare">
          <param value="'>'"/>
          <param value="numOfTanks"/>
          <param value="'0'"/>
          <return name="areTanks"/>
        </command>
        <command name="if">
          <param value="areTanks"/>
          <param value="'DECIDE'"/>
          <param value="'MOVE_RANDOM'"/>
        </command>
      </label>

      <label name="DECIDE">
        <command name="compare">
          <param value="'='"/>
          <param value="currentAction"/>
          <param value="'MOVE_ENEMY'"/>
          <return name="isMove"/>
        </command>
        <command name="if">
          <param value="isMove"/>
          <param value="'MOVE_ENEMY'"/>
          <param value="'ATTACK'"/>
        </command>
      </label>

      <label name="ATTACK">
        <command name="locate">
          <param value="'1'"/>
          <return name="enemyBearing"/>
          <return name="enemyPosition"/>
        </command>
        <command name="turn">
          <param value="enemyBearing"/>
        </command>
        <command name="fire"/>
        <command name="assign">
          <param value="currentAction"/>
          <param value="'MOVE_ENEMY'"/>
        </command>
        <command name="goto">
          <param value="'BEGIN'"/>
        </command>
      </label>

      <label name="MOVE_ENEMY">
        <command name="locate">
          <param value="'1'"/>
          <return name="enemyBearing"/>
          <return name="enemyPosition"/>
        </command>
        <command name="turn">
          <param value="enemyBearing"/>
        </command>
        <command name="move">
          <param value="'1'"/>
        </command>
        <command name="assign">
          <param value="currentAction"/>
          <param value="'ATTACK'"/>
        </command>
        <command name="goto">
          <param value="'BEGIN'"/>
        </command>
      </label>

      <label name="MOVE_RANDOM">
        <command name="random">
          <param value="'360'"/>
          <return name="bearing"/>
        </command>
        <command name="survey">
          <param value="bearing"/>
          <return name="maxDistance"/>
        </command>
        <command name="compare">
          <param value="'='"/>
          <param value="maxDistance"/>
          <param value="'0'"/>
          <return name="canNotMove"/>
        </command>
        <command name="if">
          <param value="canNotMove"/>
          <param value="'MOVE_RANDOM'"/>
        </command>
        <command name="turn">
          <param value="bearing"/>
        </command>
        <command name="move">
          <param value="'1'"/>
        </command>
        <command name="goto">
          <param value="'BEGIN'"/>
        </command>
      </label>
    </tankcommands>

  </Property>
</Bean>
