summaryrefslogtreecommitdiff
path: root/sw-common-model/src/commonMain/kotlin/org/luxons
diff options
context:
space:
mode:
Diffstat (limited to 'sw-common-model/src/commonMain/kotlin/org/luxons')
-rw-r--r--sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/score/Score.kt16
1 files changed, 15 insertions, 1 deletions
diff --git a/sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/score/Score.kt b/sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/score/Score.kt
index c1f5e4d3..34dc0d99 100644
--- a/sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/score/Score.kt
+++ b/sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/score/Score.kt
@@ -3,7 +3,21 @@ package org.luxons.sevenwonders.model.score
import kotlinx.serialization.Serializable
@Serializable
-class ScoreBoard(val scores: Collection<PlayerScore>)
+class ScoreBoard(val scores: List<PlayerScore>) {
+
+ @OptIn(ExperimentalStdlibApi::class)
+ val ranks = buildList {
+ var r = 1
+ add(1)
+ for (i in 1..scores.lastIndex) {
+ if (scores[i] < scores[i - 1]) {
+ add(++r)
+ } else {
+ add(r)
+ }
+ }
+ }
+}
@Serializable
data class PlayerScore(
bgstack15