recomputing dudd when putting games

This commit is contained in:
Theo Barollet
2023-12-28 16:36:41 +01:00
parent abaeef9f35
commit ddd7e74c09
2 changed files with 5 additions and 1 deletions

View File

@@ -73,6 +73,7 @@ object PairingHandler: PairgothApiHandler {
}.toSet() }.toSet()
game.black = payload.getID("b") ?: badRequest("missing black player id") game.black = payload.getID("b") ?: badRequest("missing black player id")
game.white = payload.getID("w") ?: badRequest("missing white player id") game.white = payload.getID("w") ?: badRequest("missing white player id")
tournament.recomputeDUDD(round, game.id)
// temporary // temporary
payload.getInt("dudd")?.let { game.drawnUpDown = it } payload.getInt("dudd")?.let { game.drawnUpDown = it }
val black = tournament.pairables[game.black] ?: badRequest("invalid black player id") val black = tournament.pairables[game.black] ?: badRequest("invalid black player id")

View File

@@ -527,11 +527,14 @@ sealed class BaseSolver(
return scale * (1.0 - x) * (1.0 + k * x) return scale * (1.0 - x) * (1.0 + k * x)
} }
fun dudd(black: Pairable, white: Pairable): Int {
return white.group - black.group
}
open fun games(black: Pairable, white: Pairable): List<Game> { open fun games(black: Pairable, white: Pairable): List<Game> {
// CB TODO team of individuals pairing // CB TODO team of individuals pairing
val usedTables = tables.getOrNull(round - 1) ?: BitSet().also { tables.add(it) } val usedTables = tables.getOrNull(round - 1) ?: BitSet().also { tables.add(it) }
val table = if (black.id == 0 || white.id == 0) 0 else usedTables.nextClearBit(1) val table = if (black.id == 0 || white.id == 0) 0 else usedTables.nextClearBit(1)
usedTables.set(table) usedTables.set(table)
return listOf(Game(id = Store.nextGameId, table = table, black = black.id, white = white.id, handicap = pairing.handicap.handicap(white, black), drawnUpDown = white.group-black.group)) return listOf(Game(id = Store.nextGameId, table = table, black = black.id, white = white.id, handicap = pairing.handicap.handicap(white, black), drawnUpDown = dudd(black, white)))
} }
} }