在我的游戏中,我希望像Flappy Bird一样拥有奖牌。所以在玩家死后它应该显示正确的奖牌。我做了这个代码:
{{1}}
在游戏中,得分更高,以达到奖牌,但我把它放在这个数字上进行测试。所以我的问题是,如果我得到5或更高的分数,它应该显示白金奖章,但它只显示4和更高的金牌。 其他人运作良好。 (2 =青铜,3 =银,4 =金,5 =金 - >错误)
我不知道如何解决这个问题,也许有人可以帮助我。
答案 0 :(得分:0)
有可能更好的方法来做到这一点,虽然你想知道什么是错的,这个答案将集中在你的结构上。基本上你与黄金和白金有冲突,因为即使分数高于这个水平,也没有什么能阻止if语句延续到4。我建议您在第一个else if
之后使用if
语句:
var score : Int = 5
if score >= 5 {
print("platinum")
}
else if score >= 4 {
print("gold")
}
else if score >= 3 {
print("silver")
}
else if score <= 2 {
print("bronze")
}
此外,您应该使用小于/大于等于以确保您为相应的分数设置正确的奖牌。我个人喜欢自下而上的方法(这与你上面所看到的相反),但在这方面它确实是个人偏好。这是一个例子:
var score : Int = 5
if score <= 2 {
print("bronze")
}
else if score <= 3 {
print("silver")
}
else if score <= 4 {
print("gold")
}
else if score >= 5 {
print("platinum")
}