gpt4 book ai didi

ios - 创建文字游戏

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

我正在使用 UIKit 创建一个文字游戏,我想为用户呈现整个字母表以解决这个难题,这是我的代码:

var emptyPos = [0]
@IBOutlet var pos1: UILabel!

@IBOutlet var pos2: UILabel!

@IBOutlet var pos3: UILabel!

@IBOutlet var pos4: UILabel!


@IBAction func btnA(sender: UIButton) {

letters(sender)

}


@IBAction func btnB(sender: UIButton) {

letters(sender)
}

@IBAction func btnC(sender: UIButton) {

letters(sender)

}

@IBAction func btnD(sender: UIButton) {

letters(sender)

}

func moveLetter (pos: UILabel, btn: UIButton) {

UIView.animateWithDuration(0.5, animations: { () -> Void in

btn.center = pos.center
})
}

func letters (btn: UIButton) {

switch emptyPos.count {

case 1:

moveLetter(pos1, btn: btn)
emptyPos.append(0)
println(emptyPos)

case 2:

moveLetter(pos2, btn: btn)
emptyPos.append(0)
println(emptyPos)

case 3:

moveLetter(pos3, btn: btn)
emptyPos.append(0)
println(emptyPos)

case 4:

moveLetter(pos4, btn: btn)
emptyPos.append(0)
println(emptyPos)



default:
println("Error")
}
}

这个想法是用户必须一个接一个地点击一个字母,将它们移向空白标签并找出正确的词,正如你所看到的,我将每个字母设为一个按钮,将每个空白区域设为一个标签,但想知道是否有比为每个字母创建 26 个按钮更好的方法。将所有按钮链接到一个函数是行不通的,因为那样我将不得不依赖 sender.tag,我无法将它传递给我的函数来移动字母。那么我应该继续我正在做的事情还是有更好的方法来做到这一点?

最佳答案

如果你制作一个自定义的 UIButton,你可以为按钮添加额外的属性,然后将 @IBAction 的发送者更改为你的自定义类,然后只需将按钮传递给你的 moveLetter,它就可以根据信息知道要做什么由按钮提供。然后他们都可以共享相同的按钮按下功能

enter image description here

enter image description here

然后如果你的按钮子类有一个名为 ButtonLetter 的 @property 字符串,你可以在 Storyboard中定义它的值是什么,而不是像屏幕截图中那样通过给它一个运行时属性在所有按钮的代码中手动执行它下面

enter image description here

或者你可能会偷懒,只是获取按钮的文本并阅读它是什么字母,但我会说这是一种更合适的处理方式,因为这可以适用于任何类型的按钮按钮上的文本实际上并不是您想要在按下按钮时用于进行一些计算的值,但在您的情况下恰好是这样。

关于ios - 创建文字游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31444330/

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