GameStatistics.kt
Ricky/android/blackjack/app/src/main/java/ca/medontime/blackjack/domain/model/GameStatistics.kt
package ca.medontime.blackjack.domain.model
/**
* Represents game statistics for tracking player performance
*/
data class GameStatistics(
val gamesPlayed: Int = 0,
val gamesWon: Int = 0,
val gamesLost: Int = 0,
val gamesPushed: Int = 0,
val blackJacks: Int = 0,
val highestScore: Int = 0,
val totalScore: Int = 0,
val currentStreak: Int = 0,
val isWinningStreak: Boolean = true
) {
/**
* Calculate win percentage
*/
fun getWinPercentage(): Double {
return if (gamesPlayed > 0) {
(gamesWon.toDouble() / gamesPlayed.toDouble()) * 100.0
} else {
0.0
}
}
/**
* Calculate average score
*/
fun getAverageScore(): Double {
return if (gamesPlayed > 0) {
totalScore.toDouble() / gamesPlayed.toDouble()
} else {
0.0
}
}
/**
* Get formatted win percentage string
*/
fun getWinPercentageString(): String {
return String.format("%.1f%%", getWinPercentage())
}
/**
* Get formatted average score string
*/
fun getAverageScoreString(): String {
return String.format("%.1f", getAverageScore())
}
/**
* Get formatted current streak string
*/
fun getCurrentStreakString(): String {
val prefix = if (isWinningStreak) "W" else "L"
return "$prefix$currentStreak"
}
}
相關文章
__init__.py
__init__.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/__init__.py).
閱讀文章 →auth.py
auth.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/admin/auth.py).
閱讀文章 →routes.py
routes.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/admin/routes.py).
閱讀文章 →config.py
config.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/config.py).
閱讀文章 →admin_ingest.py
admin_ingest.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/routes/admin_ingest.py).
閱讀文章 →admin_stats.py
admin_stats.py — python source code from the Ricky learning materials (Ricky/Cat Project Final/back_web-4/app/routes/admin_stats.py).
閱讀文章 →