这么快的问题。我正在为飞镖游戏编写iOS应用程序。我正在尝试实现撤消按钮以撤消上一个操作。
发生了什么:当您按下任何按钮时,他们会将该数量添加到分数中。按钮产生影响的用户得分是currentPlayer。 我希望撤消按钮撤消最后按下的按钮。我一直在研究,似乎他们都在展示如何硬编码撤消动作。但它可能是6个按钮hit_single,hit_double,attack_double ......等等中的任何一个。
第一:我不知道如何使用undoManager.registerUndoWithTarget(target:AnyObject,selector:Selector,object:AnyObject?),我不知道如何应用这个以及这3个中的每一个事情。
第二场:在我的比赛中,你必须从1-20(飞镖盘上的数字)开始,然后击中靶心赢。变量user1score和user2score增加其计数以显示玩家瞄准的数字。然而,在20岁之后我想要分数显示" Bullseye"。我不确定是否有办法编写混合内容数组,允许计数1-20,然后第20个数组值说" Bullseye"。或者写一个If语句,说明user1score / user2score是否大于20 print" Bullseye"。问题是它说它是一个整数,我不能输入一个字符串值。
这是我的代码:
import UIKit
class Galaxy_VC: UIViewController {
@IBOutlet var currentPlayerName: UILabel!
@IBOutlet weak var user1score: UILabel!
@IBOutlet weak var user2score: UILabel!
@IBOutlet weak var darts_Thrown: UILabel!
var names = ["Big Meat", "J Hooks"]
var currentPlayer = 0
var scores = [0, 0]
var count = 0
override func viewDidLoad() {
super.viewDidLoad()
setupGame()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func setupGame() {
user1score.text = "\(count)"
user2score.text = "\(count)"
}
func updateTurn() {
currentPlayerName.text = names[currentPlayer]
user1score.text = "\(scores[0])"
user2score.text = "\(scores[1])"
}
func undoLast(score: NSNumber) {
undoManager?.registerUndoWithTarget(self, handler: <#T##AnyObject -> ()#>)
}
@IBAction func btn_NextTurn(sender: UIButton) {
currentPlayer = 1 - currentPlayer
updateTurn()
}
@IBAction func btn_UndoTurn(sender: AnyObject) {
}
@IBAction func hit_Single(sender: AnyObject) {
scores[currentPlayer] + 1
updateTurn()
}
@IBAction func hit_Double(sender: AnyObject) {
scores[currentPlayer] + 2
updateTurn()
}
@IBAction func hit_Triple(sender: AnyObject) {
scores[currentPlayer] + 3
updateTurn()
}
@IBAction func Miss(sender: AnyObject) {
scores[currentPlayer] - 1
updateTurn()
}
@IBAction func attack_double(sender: AnyObject) {
scores[1 - currentPlayer] - 2
updateTurn()
}
@IBAction func attack_Triple(sender: AnyObject) {
scores[1 - currentPlayer] - 3
updateTurn()
}
}
您可以提供的任何帮助将非常感谢!谢谢!