我正在尝试制作一个计算体育预测游戏分数的程序。与游戏相关的处罚之一是,您每错过正确的分数,就会从您的分数中减去一分。
例如,您预测 A 队将以 17-0 的比分击败 B 队,但最终比分是 10-14。这意味着您损失了 21 分,因为您预测 B 队的胜利优势是 17 分,而实际上真实的优势是 A 队落后 4 分。
另一个例子,您预测 B 队将以 35-3 的比分击败 A 队。在这种情况下,同样使用上面的最终分数,您只会损失 28 分。
当我测试该程序时,我发现它通常在玩家预测正确的球队获胜时起作用。我知道代码中的问题涉及这种胜利边际惩罚,但我不明白为什么它有时会给我正确的分数,而其他时候却没有。
// Calculate actual margin of victory
margin1 = team1score - team2score;
if (margin1 < 0) {
margin1 = margin1 * -1;
}
// Calculate predicted margin of victory
margin2 = prediction2 - prediction1;
if (margin2 < 0) {
margin2 = margin2 * -1;
}
// Calculate difference
if (margin1 == margin2) {
totalMargin = 0;
} else {
totalMargin = margin1 - margin2;
if (totalMargin < 0) {
totalMargin = totalMargin * -1;
}
}
谢谢。