diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8cf6eb5..ffed3a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/kotlin/JHorseRacing.kt b/src/main/kotlin/JHorseRacing.kt index ab3556a..be14598 100644 --- a/src/main/kotlin/JHorseRacing.kt +++ b/src/main/kotlin/JHorseRacing.kt @@ -549,6 +549,19 @@ object JHorseRacing : KotlinPlugin( } subject.sendMessage(ret.toString()) } + msg == "胜率榜" -> { + logger.info("查询胜率榜") + val msgB = MessageChainBuilder(11) + msgB.append("胜率榜\n") + JHRPluginData.playerStat.entries.filter { + subject.contains(it.key) + }.sortedByDescending { it.value.winPercentage } + .take(10) + .onEach { + msgB.append("| ${it.value.winPercentage}% | ${subject[it.key]!!.nameCardOrNick}\n") + } + subject.sendMessage(msgB.asMessageChain()) + } } } diff --git a/src/main/kotlin/game/PlayerStatistics.kt b/src/main/kotlin/game/PlayerStatistics.kt index 7163e43..e1b43f1 100644 --- a/src/main/kotlin/game/PlayerStatistics.kt +++ b/src/main/kotlin/game/PlayerStatistics.kt @@ -46,9 +46,13 @@ class PlayerStatistics { */ val totalProfit get() = totalWinScore + totalLossScore + /** + * 胜率 + */ + val winPercentage get() = if (betCount > 0) (winCount/betCount.toDouble()*100).toInt() else 0 + override fun toString(): String { - return "下注次数:${betCount}\n" + - "获胜次数:${winCount}\n" + + return "获胜次数:${winCount}/${betCount} (${winPercentage}%)\n" + "贡献次数:${contribution}\n" + "签到次数:${signCount}\n" + "下注积分:${totalBetScore}\n" +