summaryrefslogtreecommitdiff
path: root/src/match_up/controller.py
diff options
context:
space:
mode:
authorKaran Jayachandra <mail@karanjayachandra.com>2024-12-02 19:43:33 +0100
committerKaran Jayachandra <mail@karanjayachandra.com>2024-12-02 19:43:33 +0100
commitb9967b20dddaed6673d2333edc7cdee735ed1395 (patch)
tree2b1010abd4abe856f22a4c72efac049ae4568803 /src/match_up/controller.py
parentbeea33bc183837a3feceaf1b5127c2e21e16fc36 (diff)
Added a random selection even for teams
Diffstat (limited to 'src/match_up/controller.py')
-rw-r--r--src/match_up/controller.py15
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):