fix: compute DiceRoll success count from fresh roll, not stale result (Closes #16)

This commit was merged in pull request #39.
This commit is contained in:
2026-03-13 12:22:57 +01:00
parent 3834c4fc8e
commit d08cc83348
3 changed files with 123 additions and 4 deletions

View File

@@ -15,8 +15,11 @@ data class DiceRoll(
val result: List<Int> = listOf(),
val numberOfSuccesses: Int = -1
) {
fun roll(numberForSuccessOrHigher: Int = 5): DiceRoll = this.copy(
result = rollXDice(sides = this.numberOfSides, numberOfDice = this.numberOfDice),
numberOfSuccesses = result.countSuccesses(numberForSuccessOrHigher)
)
fun roll(numberForSuccessOrHigher: Int = 5): DiceRoll {
val newResult = rollXDice(sides = this.numberOfSides, numberOfDice = this.numberOfDice)
return this.copy(
result = newResult,
numberOfSuccesses = newResult.countSuccesses(numberForSuccessOrHigher)
)
}
}