From b66b5770774e5c1d2182759c66de0bf2176ee180 Mon Sep 17 00:00:00 2001 From: Quentin Rendu Date: Mon, 25 Nov 2024 11:27:04 +0900 Subject: [PATCH] Correct formula for bye player in Swiss system --- .../kotlin/org/jeudego/pairgoth/pairing/solver/BaseSolver.kt | 3 ++- .../kotlin/org/jeudego/pairgoth/pairing/solver/SwissSolver.kt | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/BaseSolver.kt b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/BaseSolver.kt index 8981272..a44e6db 100644 --- a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/BaseSolver.kt +++ b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/BaseSolver.kt @@ -55,7 +55,8 @@ sealed class BaseSolver( pairing.handicap.color(p1, p2) open fun computeWeightForBye(p: Pairable): Double{ - return p.rank + 2*(p.main+p.rank) + // The weightForBye function depends on the system type (Mac-Mahon or Swiss), default value is 0.0 + return 0.0 } fun pair(): List { diff --git a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/SwissSolver.kt b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/SwissSolver.kt index d5324d4..aa1f396 100644 --- a/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/SwissSolver.kt +++ b/api-webapp/src/main/kotlin/org/jeudego/pairgoth/pairing/solver/SwissSolver.kt @@ -24,4 +24,8 @@ class SwissSolver(round: Int, override val scoresX: Map get() = scores.mapValues { it.value.second } override val mainLimits = Pair(0.0, round - 1.0) + + override fun computeWeightForBye(p: Pairable): Double{ + return p.rank + 40*p.main + } }