gpt4 book ai didi

swift - Bool 未正确返回

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

我对编程还很陌生,我想学习 Swift 3.0。

我一直在尝试编写自己的 TicTacToe 游戏,但不知何故,当我检查获胜者时, bool 返回并没有按照我想要的方式工作......

CheckWin() 函数如下所示:

func CheckWin() -> Bool {
if button1.titleLabel?.text == button2.titleLabel?.text && button2.titleLabel?.text == button3.titleLabel?.text && button1.titleLabel?.text != nil {
return true
} else {
return false
}
//and so on...

我的问题是,当我单击按钮时,它会用“X”或“O”填充按钮,然后我通过 if 语句调用 CheckWin() 函数但它将 Labeltext 设置为“赢了!”下次我点击一个按钮后。而不是立即检查并将 Labeltext 设置为“赢了!”。

@IBAction func buttonClick(_ sender: UIButton) {
if sender.titleLabel?.text == nil {
if player % 2 == 0 {
sender.setTitle(playerx, for: UIControlState.normal)
player += 1 //Adds 1 to the variable player
turn += 1 //Adds 1 to the variable turn (to check later for a draw)
} else {
sender.setTitle(playero, for: UIControlState.normal)
player += 1
turn += 1
}
}
if CheckWin() {
label.text = "Won!"
}
}

感谢任何帮助/提示!提前致谢!

(顺便说一句,我知道为每个按钮创建一个导出并不是一个好主意,但首先我只想在开始改进之前让这个东西正常工作):)

最佳答案

你有:

if player%2==0
{
sender.setTitle(playerx, for: UIControlState.normal}
player += 1 //Adds 1 to the variable player
turn += 1 //Adds 1 to the variable turn (to check later for a draw)
}

请参阅第一行末尾的 },而不是 ) 这是错误还是您只是错误地复制了问题代码?

此外,请确保按钮类型是“自定义”,而不是“系统”。将其更改为自定义将使默认文本颜色变为白色,因此将其更改为黑色或其他颜色。

关于swift - Bool 未正确返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43652561/

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