用swift计算分数



现在,我的问题是,当我试图计算分数线时,如果一个人在文本字段(与label.text相同)中写了与"42"不同的内容,他们将受到1分的惩罚。如果我写的东西不是"42",它会给我1分,但这只是第一次。如果我再这样做,比分不会改变,所以我会被困在-1的比分线上。

我怎么能做到每次我写的东西不是"42",即使我已经得了-1分,它也会给我-1分?

(正如你所看到的,我已经将标签.text设置为与textfield.text相同,如果你想知道的话)

import UIKit
    class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
        // MARK: PROBERTIES
        @IBOutlet weak var label: UILabel!
        @IBOutlet weak var textField: UITextField!
        @IBOutlet weak var scoreLabel: UILabel!
        @IBOutlet weak var photoImageView: UIImageView!
        @IBOutlet weak var label2: UILabel!
        @IBOutlet weak var label1: UILabel!
        let imagePicker = UIImagePickerController()
        override func viewDidLoad() {
            super.viewDidLoad()

            textField.delegate = self
            imagePicker.delegate = self
        }

        func textFieldShouldReturn(textField: UITextField) -> Bool {
            textField.resignFirstResponder()
            return true
        }
        func textFieldDidEndEditing(textfield: UITextField) {
            label.text = textField.text
            var score = 0

            if textField.text != "42" {
                score -= 1
            }
            // MARK: if-statements
            if label.text! == "42" {
                label1.text = "You are correct"
                self.view.backgroundColor = UIColor.greenColor()
                score += 10
            }
            if label.text != "42" {
                label1.text = "Damn, wrong"
                self.view.backgroundColor = UIColor.redColor()
            }
            if label.text!.isEmpty {
                label1.text = "Still waiting for an answer..."
            }
            if label.text == "happiness" {
                label1.text = "It is not a key element in the meaning of life"
            }
            if label.text == "to be happy" {
                label1.text = "i would rather be rich"
            }
            if label.text == "money" {
                label1.text = "there is more in this world than money"
            }
            if label.text == "There is no meaning of life" {
                label1.text = "There is a meaning to everything"
            }
            if label.text == "there is no meaning of life"
            {
                label1.text = "there is a meaning to everything"
            }
            if label.text == "to be rich" {
                label1.text = "Money does not solve every problem"

            }
            var scoreString = String(score)
            scoreLabel.text = "Your score is (scoreString)"

        }

添加从ViewController对象到文本字段的Editing Changed出口的连接。当字段的文本更改时,将调用连接到它的任何方法。

我一直在寻找其他东西,但我想分享一下前一段时间让我摆脱困境的原因,因为我的标签上有Integers,它变回了我不知道的字符串。

var pointsCount = 0
func addPoints(_ points: NSInteger)
{
    if let text = self.pointsLabel.text, var pointsCount = Int(text)
    {
        pointsCount += points
        pointsLabel.text = "(pointsCount)"
    }
}

要添加2点,只需使用

addPoints(2)

最新更新