Swift编程 - 如何设置应用轮流

时间:2015-08-16 19:08:52

标签: ios swift button

所以我试图编写一个允许我和朋友跟踪飞镖游戏的应用程序。在游戏中有几个不同的按钮,允许用户在用户分数中添加或减少一个或两个。我有按钮,并创建了插座,但只是遇到问题我如何告诉按钮他们应该得分的用户。我附上了基本用户界面和我正在使用的一些代码的图片。任何建议都会非常感激。我只需要知道如何告诉应用程序用户转向它,我在想是否可以添加一个按钮,说明" 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

的图片

enter image description here

1 个答案:

答案 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()    
    }
}