public static void insertPlayersRandomly(List <List <TournamentRound> > tree, List <TournamentPlayer> players) { List <TournamentRound> firstRow = tree[0]; foreach (TournamentPlayer p in players.Where(p => p.getIsNPC() == false)) { TournamentRound game = firstRow.OrderBy(g => g.getPlayers().Count).ToList()[0]; game.addPlayer(p); } }
public void setGameOver(TournamentPlayer winner) { winner.isWinning = true; score.winner = winner.info.username; winnerUsername = winner.info.username; setState(RoundState.Over); if (nextRound != null) { nextRound.addPlayer(winner, nextWinGameSlotIndex); } if (nextLoserRound != null) { getLosers(winner).ForEach(p => nextLoserRound.addPlayer(p, nextLoseGameSlotIndex)); } }
public static void addBots(List <List <TournamentRound> > tree, List <TournamentPlayer> players) { List <TournamentRound> firstRow = tree[0]; int totalPlayers = firstRow.Count * 2; int botsNeeded = totalPlayers - players.Count; for (int i = 0; i < botsNeeded; i++) { List <TournamentRound> temp = firstRow.OrderByDescending(g => g.calcRoundsUntilPossibleBotGame()).ToList(); //Calculate round to bot battle temp = temp.Where(g => g.stashedRoundsUntilBotGame == temp[0].stashedRoundsUntilBotGame).ToList(); //Sort TournamentRound round = temp[Random.Range(0, temp.Count)]; //Pick random game TournamentPlayer bot = new TournamentPlayer(true, i); players.Add(bot); round.addPlayer(bot); } }