【发布时间】:2021-04-27 16:43:45
【问题描述】:
对于 Swift 中可能是初学者的问题,我遇到了一些麻烦:
我正在尝试根据所选的游戏类型和游戏难度将一些高分保存到我想要永久保存的变量中。
最好使用循环来完成,因为在我的实际代码中会有许多不同的游戏/难度组合,因此 if 语句会变得非常大。我尝试做的看起来有点像这样(我不知道该怎么做的部分标有注释):
var hiScoreEasyA = 0
var hiScoreHardA = 0
var hiScoreEasyB = 0
var hiScoreHardB = 0
var currentGame = "A"
var currentDifficulty = "Easy"
var currentScore = "9999"
var newHiScore = false
func setHiScore() -> Void {
var hiScores: [[Any]] = [
["A", "Easy", hiScoreEasyA],
["A", "Hard", hiScoreHardA],
["B", "Easy", hiScoreEasyB],
["B", "Hard", hiScoreHardB]
]
for hi in hiScores.indices {
if (hiScores[hi][0] as! String) == currentGame && (hiScores[hi][1] as! String) == currentDifficulty {
if (hiScores[hi][2] as! Int) < currentScore {
newHiScore = true
//Here I would need to assign the value of currentScore to the variable stored in hiScores[hi][2] (hiScoreEasyA)
}
}
}
}
到目前为止,代码似乎可以工作,但我还没有找到任何实用的方法来将当前分数分配给正确的高分变量。
任何想法如何解决这个问题?非常感谢您的帮助。
【问题讨论】: