gpt4 book ai didi

arrays - 快速检查相同的值

转载 作者:行者123 更新时间:2023-11-28 09:44:44 24 4
gpt4 key购买 nike

我正在尝试制作一个内存游戏,我将图像应用于 12 个不同的按钮,并在显示 2 个按钮时检查图像是否相同。

--------------------成品形式?-------------------- ---

这里是对 Duncan C 的建议的尝试;

func setImages() {

var values = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6]
values.shuffleInPlace()

button1.tag = values[0]
button2.tag = values[1]
button3.tag = values[2]
button4.tag = values[3]
button5.tag = values[4]
button6.tag = values[5]
button7.tag = values[6]
button8.tag = values[7]
button9.tag = values[8]
button10.tag = values[9]
button11.tag = values[10]
button12.tag = values[11]

}

@IBAction func buttonPressed(sender: UIButton) {

var images : [UIImage] = [
UIImage(named:"ye1")!,
UIImage(named:"ye2")!,
UIImage(named:"ye3")!,
UIImage(named:"ye4")!,
UIImage(named:"ye5")!,
UIImage(named:"ye6")!,
UIImage(named:"ye7")!,
UIImage(named:"ye8")!,
UIImage(named:"ye9")!,
UIImage(named:"ye10")!,
UIImage(named:"ye11")!,
UIImage(named:"ye12")!
]

images.shuffleInPlace()

let integrera = (sender.tag - 1)
let imageString:String = String(format: "ye%i", integrera)

if !firstButtonAlreadyPresssed {
firstButtonValue = sender.tag //remember the button for later
firstButtonAlreadyPresssed = true
sender.setImage(UIImage(named: imageString), forState: .Normal)

}
else
//We already have a first button pressed.
if sender.tag == firstButtonValue {

sender.setImage(UIImage(named: imageString), forState: .Normal)

}
else {

let secondimage = (sender.tag)
let secondString : String = String(format: "ye%i", secondimage)

sender.setImage(UIImage(named: secondString), forState: .Normal)
}
firstButtonAlreadyPresssed = false //reset the "isFirstButton" flag for the next time.
}
}

最佳答案

嗯,我相信这里有一些冗长和重复的代码。您可以将所有按钮添加到相同的 @IBAction func。所以你可以有一个 @IBAction func buttonPressed(sender: UIButton) 而不是你现在拥有的 12 个(我认为,因为你的函数被称为 @IBAction func button1PRESSED(sender: AnyObject))。因此,当您第一次单击一个按钮时,您会存储该按钮,并且还会存储它是否单击了第一个或第二个按钮。当您单击第二个按钮时,您会检查它是否与单击的第一个按钮具有相同的 UIImage,否则您应该做什么。

@IBAction func buttonPressed(sender: UIButton) {
if self.firstButtonStored == true {
if self.firstButton.image == sender.image {
// They are the same
} else {
// they are not the same
}
} else {
self.firstButtonStored = true
self.firstButton = sender
}
}

我还建议将所有按钮存储在一个 OutletCollection(像数组一样工作)中,而不是将 12 个按钮单独存储。而且我还会使用 UIImage 以外的东西来检查它们是否相同,不确定这是否真的有效,因为您需要图像名称而不是图像本身来进行比较。如果您需要帮助,请告诉我。

关于arrays - 快速检查相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726579/

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