gpt4 book ai didi

swift - 检查新整数与前一个整数的问题

转载 作者:行者123 更新时间:2023-11-30 13:10:37 25 4
gpt4 key购买 nike

我正在尝试制作类似于高低游戏的东西。到目前为止,我可以生成一个 1-25 之间的新整数。我尝试编写一个函数,当您按下“较低”按钮时,它会根据前一个整数检查新整数,如果小于则在下面显示文本“您是正确的”并更新用户得分+1。如果错误,则会显示“您错了”,并且分数将重置为 0。

每当我按下下方按钮时,它都会给我一个新的整数,但分数不会更新,并且不会显示消息。这是我第一次真正尝试这样做,所以请耐心等待:)

降低按钮

    @IBAction func lower(sender: AnyObject) {
var newNumber = randomIntBetween(2, high: 26)
var oldNumber: Int?

func lowerNumber() -> Int {
if newNumber <= oldNumber {
correctWrong.text = "You Were Correct!"
score.text = "Score: \(countWin++)"
} else {
correctWrong.text = "You Were Wrong!"
score.text = "Score: \(countLose)"
}
return newNumber
}
randomNumbers.text = "\(newNumber)"
}

随机数函数

    func randomIntBetween(low:Int, high:Int) -> Int {
let range = high - (low - 1)
return (Int(arc4random()) % range) + (low - 1)
}

使用的变量/常量

var countWin = 0
let countLose = 0

谢谢

最佳答案

据我所知,您的代码格式是否正确,您有一个嵌套函数,但您没有在函数内部调用它,因此不可能调用函数 lowerNumber() 。您需要像下面的代码一样调用该函数:

@IBAction func lower(sender: AnyObject) {
var newNumber = randomIntBetween(2, high: 26)
var oldNumber: Int?

func lowerNumber() -> Int {
if newNumber <= oldNumber {
correctWrong.text = "You Were Correct!"
score.text = "Score: \(countWin++)"
} else {
correctWrong.text = "You Were Wrong!"
score.text = "Score: \(countLose)"
}
return newNumber
}

let newValue = lowerNumber()
randomNumbers.text = "\(newValue)"
}

尽管如此,嵌套函数是具有名称的闭包,并且可以从其封闭函数中捕获值,因此您需要小心使用它。我推荐 @AirSpeedVelocity 的这篇文章来了解有关闭包及其捕获值的更多信息 A Basic Tutorial on Functions and Closures in Swift

希望这对您有帮助。

关于swift - 检查新整数与前一个整数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38769525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com