示例#1
0
  private void scoreFollowersOnBarnFarm(Farm farm, Map<City, CityScoreContext> cityCache) {
    FarmScoreContext ctx = farm.getScoreContext();
    ctx.setCityCache(cityCache);
    farm.walk(ctx);

    boolean hasBarn = false;
    for (Meeple m : ctx.getSpecialMeeples()) {
      if (m instanceof Barn) {
        hasBarn = true;
        break;
      }
    }
    if (hasBarn) {
      for (Player p : ctx.getMajorOwners()) {
        int points = ctx.getPointsWhenBarnIsConnected(p);
        game.scoreFeature(points, ctx, p);
      }
      for (Meeple m : ctx.getMeeples()) {
        if (!(m instanceof Barn)) {
          m.undeploy(false);
        }
      }
    }
  }