我正在为一款足球预测游戏设计评分系统,希望能够离开离散步骤的点数系统(例如,0,5,10,25或更简单的0/1/3想法)。
当前想法:
精确预测比分:25点
奖励正确的结果(胜/平/负)
*根据预测和实际分数之间的距离减少一笔罚款
问题:我的思路还存在聚集问题和一些不切实际的情况(类似的预测分数相同,或“错误结果”过于悲观)。
我正在追求一种平滑的连续评分规则,平衡结果和分数距离,同时将使用者的游戏体验放在心上。
例如(实际4比1:)
|预测|分数|
|:-|:-|
|4比1|25|
|3比1|17|
|3比0|16|
|3比2|14|
|2比0|13|
|1比0|10|
|2比2|1|
我在 SQL 中实施了计算,这是核心逻辑。
CASE
-- 1. EXACT
WHEN home_score = home_guess AND away_score = away_guess THEN 25
-- 2. CORRECT OUTCOME
WHEN sign(home_score - away_score) = sign(home_guess - away_guess) THEN
GREATEST(10,
20
- (abs(home_score - home_guess) + abs(away_score - away_guess)) * 2
- abs((home_score - away_score) - (home_guess - away_guess))
)
-- 其他情况
ELSE
GREATEST(0, 4 - (abs(home_score - home_guess) + abs(away_score - away_guess)))
END
评论 (0)