Example #1
0
  // returns true if we want at least one continent
  boolean setupOurConts(int numberOfArmies) {
    if (ourConts == null) ourConts = new boolean[numContinents];

    // calculate the armies needed to conquer each continent
    int[] neededForCont = new int[numContinents];
    for (int i = 0; i < numContinents; i++) {
      neededForCont[i] =
          BoardHelper.getEnemyArmiesInContinent(ID, i, countries); // enemies in the cont
      neededForCont[i] -=
          BoardHelper.getPlayerArmiesInContinent(ID, i, countries); // minus our armies in the cont
      // also minus our armies in countries neighboring the cont
      neededForCont[i] -= BoardHelper.getPlayerArmiesAdjoiningContinent(ID, i, countries);
    }

    // say we can give at most (1/numContinents)*numberOfArmies armies to each continent.
    boolean wantACont = false; // if we think we can take/hold any continents
    for (int i = 0; i < numContinents; i++) {
      if (neededForCont[i] < (1.0 / numContinents) * numberOfArmies
          && board.getContinentBonus(i) > 0) {
        ourConts[i] = true;
        wantACont = true;
      } else ourConts[i] = false;
    }
    return wantACont;
  }