diff options
| author | Karan Jayachandra <mail@karanjayachandra.com> | 2024-12-02 19:43:33 +0100 |
|---|---|---|
| committer | Karan Jayachandra <mail@karanjayachandra.com> | 2024-12-02 19:43:33 +0100 |
| commit | b9967b20dddaed6673d2333edc7cdee735ed1395 (patch) | |
| tree | 2b1010abd4abe856f22a4c72efac049ae4568803 /src/match_up/controller.py | |
| parent | beea33bc183837a3feceaf1b5127c2e21e16fc36 (diff) | |
Added a random selection even for teams
Diffstat (limited to 'src/match_up/controller.py')
| -rw-r--r-- | src/match_up/controller.py | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/match_up/controller.py b/src/match_up/controller.py index 585160f..a02dd04 100644 --- a/src/match_up/controller.py +++ b/src/match_up/controller.py @@ -2,7 +2,7 @@ from typing import Tuple from operator import attrgetter from match_up.data import Game, PLAYER_PER_COURT from match_up.model import Player, PlayerList, CourtList -from match_up.utilities import _create_placeholders, _select_players, _create_games, _create_team_games +from match_up.utilities import _create_placeholders, _select_players, _create_shuffle_games, _create_team_games class RoundGenerator: @@ -45,21 +45,18 @@ class RoundGenerator: active_teams = {} players_without_team = [] for team_id in grouped_players_by_team: - if team_id == 0: + if team_id == 0 or len(grouped_players_by_team[team_id]) < 4: players_without_team += [player for player in grouped_players_by_team[team_id]] else: - if len(grouped_players_by_team[team_id]) >= 4: - active_teams[team_id] = grouped_players_by_team[team_id] - else: - players_without_team += [player for player in grouped_players_by_team[team_id]] + active_teams[team_id] = grouped_players_by_team[team_id] regular_courts = len(used_courts) - len(active_teams) reg_courts = {A:N for (A,N) in [x for x in used_courts.items()][:regular_courts]} team_courts = {A:N for (A,N) in [x for x in used_courts.items()][regular_courts:]} - required_player_count = required_player_count - (4 * len(active_teams)) + required_player_count = required_player_count - (PLAYER_PER_COURT * len(active_teams)) selected_players_without_team = _select_players(players_without_team, required_player_count) - regular_games = _create_games(reg_courts, selected_players_without_team, total_levels) + regular_games = _create_shuffle_games(reg_courts, selected_players_without_team, total_levels) team_games, selected_players_with_team = _create_team_games(team_courts, active_teams) @@ -67,7 +64,7 @@ class RoundGenerator: games = regular_games + team_games else: selected_players = _select_players(active_players, required_player_count) - games = _create_games(used_courts, selected_players, total_levels) + games = _create_shuffle_games(used_courts, selected_players, total_levels) return games, selected_players def update_player_list(self, csv_location): |
