Skip to content

Commit 3289c7b

Browse files
committed
fixe matchmaking
1 parent e9590ed commit 3289c7b

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

services/app/apps/codebattle/lib/codebattle/tournament/helpers.ex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ defmodule Codebattle.Tournament.Helpers do
1414

1515
def get_players(tournament, ids), do: Tournament.Players.get_players(tournament, ids)
1616

17+
def get_unbanned_players(tournament), do: tournament |> get_players() |> Enum.filter(&unbanned_player?(&1))
18+
1719
def get_tasks(%{tasks_table: nil} = _tournament), do: []
1820
def get_tasks(tournament), do: Tournament.Tasks.get_tasks(tournament)
1921

@@ -349,4 +351,6 @@ defmodule Codebattle.Tournament.Helpers do
349351
end
350352

351353
def get_players_total_games_count(_tournament, player), do: Enum.count(player.matches_ids)
354+
355+
defp unbanned_player?(player), do: player.state != "banned"
352356
end

services/app/apps/codebattle/lib/codebattle/tournament/strategy/swiss.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ defmodule Codebattle.Tournament.Swiss do
8282

8383
player_pairs =
8484
tournament
85-
|> get_players()
85+
|> get_unbanned_players()
8686
|> Enum.sort_by(& &1.id)
8787
|> Enum.chunk_every(2)
8888

@@ -102,7 +102,7 @@ defmodule Codebattle.Tournament.Swiss do
102102

103103
sorted_players =
104104
tournament
105-
|> get_players()
105+
|> get_unbanned_players()
106106
|> Enum.filter(&(&1.id > 0))
107107
|> Enum.sort_by(& &1.score, :desc)
108108

0 commit comments

Comments
 (0)