所以我试图编写一个允许我和朋友跟踪飞镖游戏的应用程序。在游戏中有几个不同的按钮,允许用户在用户分数中添加或减少一个或两个。我有按钮,并创建了插座,但只是遇到问题我如何告诉按钮他们应该得分的用户。我附上了基本用户界面和我正在使用的一些代码的图片。任何建议都会非常感激。我只需要知道如何告诉应用程序用户转向它,我在想是否可以添加一个按钮,说明" Next Turn"然后按下按钮以反映播放器的分数,然后按" Next Turn"它会切换玩家。因此得分会影响下一个球员转身。这对我来说很有意义,但我真的不知道从哪里开始运作。您是否也介意看看我必须使标签反映分数变化的代码,看看这个逻辑是否有意义?
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var user1Score: UILabel!
@IBOutlet weak var user2Score: UILabel!
@IBAction func hit(sender: AnyObject) {
user1Score.text = "+1"
}
@IBAction func miss(sender: AnyObject) {
}
@IBAction func doublePlus(sender: AnyObject) {
}
@IBAction func doubleMinus(sender: AnyObject) {
}
@IBAction func triplePlus(sender: AnyObject) {
}
@IBAction func tripleMinus(sender: AnyObject) {
}
@IBAction func penalty(sender: AnyObject) {
}
以下是mainStoryBoardUI
答案 0 :(得分:0)
使用class属性来跟踪当前播放器。将分数存储在数组中,并使用currentPlayer
作为要更新的值的索引。这是一个非常基本的方法:
class ViewController: UIViewController {
@IBOutlet weak var currentName: UILabel!
@IBOutlet weak var user1Score: UILabel!
@IBOutlet weak var user2Score: UILabel!
var names = ["Fred", "Joe"]
var currentPlayer = 0
var scores = [0, 0]
func updateUI() {
currentName.text = names[currentPlayer]
user1Score.text = "\(scores[0])"
user2Score.text = "\(scores[1])"
}
@IBAction func changePlayers() {
currentPlayer = 1 - currentPlayer
updateUI()
}
@IBAction func hit() {
scores[currentPlayer]++
updateUI()
}
}