Example #1
0
  protected void start() throws FightException {
    state = FightStateEnum.ACTIVE;

    generateTurns();
    fighters = CollectionUtils.concat(challengers.getFighters(), defenders.getFighters());

    foreach(
        new FightHandlerAction() {
          @Override
          public void call(IFightHandler obj) throws FightException {
            obj.notifyFightStart(turns, fighters);
          }
        });

    onStarted();

    startFight = Instant.now();

    getCurrentTurn().begin();
  }
Example #2
0
  public static FightTeamEnum getWinnerTeam(Team team1, Team team2) {
    int nbSurvivors1 = 0, nbSurvivors2 = 0;

    for (IFighter fighter : team1.getFighters()) {
      if (fighter.isAlive()) {
        ++nbSurvivors1;
      }
    }

    for (IFighter fighter : team2.getFighters()) {
      if (fighter.isAlive()) {
        ++nbSurvivors1;
      }
    }

    if (nbSurvivors1 < nbSurvivors2) {
      return team2.getTeamType();
    } else {
      return team1.getTeamType();
    }
  }