anchor.diff:      property Evaluation[aPlayer: TKMHandIndex]: TKMArmyEval read GetEvaluation;
       property AllianceEvaluation[aPlayer: TKMHandIndex; aAlliance: TAllianceType]: TKMArmyEval read GetAllianceStrength;
   
  +    //function AttackForceChance(aOponent: TKMHandIndex; aGroups: TKMUnitGroupArray): Single;
       function CompareAllianceStrength(aPlayer, aOponent: TKMHandIndex): Single;
       procedure UpdateState(aTick: Cardinal);
     end;
  
positive.code:     Sum := Sum + AllyArmy[GT] + EnemyArmy[GT];
      Diff := Diff + AllyArmy[GT] - EnemyArmy[GT];
    end;
    Result := Diff / Sum; // => number in <-1,1> ... positive = we have advantage and vice versa
  end;
  
  
  
negative.code: end;
  
  
  //function TKMArmyEvaluation.AttackForceChance(aOponent: TKMHandIndex; aGroups: TKMUnitGroupArray): Single;
  //var
  //
  //begin
  //  EnemyEval := Evaluation[aOponent];
  //end;
  
  
  // Approximate way how to compute strength of 2 alliances
  function TKMArmyEvaluation.CompareAllianceStrength(aPlayer, aOponent: TKMHandIndex): Single;
  type
  