ios - 在 swift 中添加分数和高分

标签 ios swift

我正在制作这个带有图片的问答游戏。

我正在尝试添加分数。总是当你按下正确答案时,你会得到一个分数,当你按下错误答案时,你必须重新开始游戏(我已经完成了)。

我的问题是无论我尝试将此代码放在何处,都会出现各种错误。

所以这是高分代码:

        Score++
        ScoreLabel.text = NSString(format: "Score: %i", Score)
        if (Score > HighScore){
            HighScore = Score
            HighScoreLabel.text = NSString(format: "HighScore : %i", HighScore)

我已经把它放在代码的这个地方了:

import UIKit

类 View Controller :UIViewController {

@IBOutlet var QuestionImage : UIImageView!
@IBOutlet var QuestionLabel: UILabel!
@IBOutlet var Button1: UIButton!
@IBOutlet var Button2: UIButton!
@IBOutlet var Button3: UIButton!
@IBOutlet var Button4: UIButton!
@IBOutlet var Restart: UIButton!
@IBOutlet var LabelEnd: UILabel!
@IBOutlet var ScoreLabel: UILabel!
@IBOutlet var HighScoreLabel: UILabel!



var CorrectAnswer = String()



var Score = 0

var HighScore = 0

  override func viewDidLoad() {



    super.viewDidLoad()



    // Do any additional setup after loading the view, typically from a nib.



    Hide()



    RandomQuestions()



    HideRestart()



}



override func didReceiveMemoryWarning() {

    super.didReceiveMemoryWarning()

    // Dispose of any resources that can be recreated.

    }



func RandomQuestions(){



    var RandomNumber = arc4random() % 2

    RandomNumber += 1

    switch(RandomNumber){



    case 1:

      QuestionImage.image = UIImage(named: (“image.jpg"))

     QuestionLabel.text = “question?"

        Button1.setTitle(“answer", forState: UIControlState.Normal)

        Button2.setTitle(“answer", forState: UIControlState.Normal)

        Button3.setTitle(“answer", forState: UIControlState.Normal)

        Button4.setTitle(“answer", forState: UIControlState.Normal)

        CorrectAnswer = "1"

        break





    case 2:

        QuestionImage.image = UIImage(named: (“image2.jpg"))

       QuestionLabel.text = “question?"

        Button1.setTitle(“answer", forState: UIControlState.Normal)

         Button2.setTitle(“answer", forState: UIControlState.Normal)

        Button3.setTitle(“answer", forState: UIControlState.Normal)

        Button4.setTitle(“answer", forState: UIControlState.Normal)

        CorrectAnswer = "3"



        break



        default:



        break

    }



}

    func Hide(){



    LabelEnd.hidden = true



}



func UnHide(){



    LabelEnd.hidden = false



}

   func HideButtons(){

    Button1.hidden = true



    Button2.hidden = true



    Button3.hidden = true



    Button4.hidden = true



}

  func HideRestart(){



    Restart.hidden = true

     }



func UnHideRestart(){



    Restart.hidden = false

     }



@IBAction func Button1Action(sender: AnyObject) {

        UnHide()

        if (CorrectAnswer == "1"){

        RandomQuestions()

        Hide()

        HideRestart()

        Score++
        ScoreLabel.text = NSString(format: "Score: %i", Score)
        if (Score > HighScore){
            HighScore = Score
            HighScoreLabel.text = NSString(format: "HighScore : %i", HighScore)




    }



    else{

        LabelEnd.text = "You are wrong!"

        HideButtons()

        UnHideRestart()

       }

   }



@IBAction func Button2Action(sender: AnyObject) {

    UnHide()

      if (CorrectAnswer == "2"){

      RandomQuestions()

        Hide()

        HideRestart()


        Score++
        ScoreLabel.text = NSString(format: "Score: %i", Score)
        if (Score > HighScore){
            HighScore = Score
            HighScoreLabel.text = NSString(format: "HighScore : %i", HighScore)

    }



    else{

        LabelEnd.text = "You are wrong!"

        HideButtons()

        UnHideRestart()



    }



}

@IBAction func Button3Action(sender: AnyObject) {



    UnHide()



    if (CorrectAnswer == "3"){

        RandomQuestions()

        Hide()

        HideRestart()


        Score++
        ScoreLabel.text = NSString(format: "Score: %i", Score)
        if (Score > HighScore){
            HighScore = Score
            HighScoreLabel.text = NSString(format: "HighScore : %i", HighScore)


    }



    else{



        LabelEnd.text = "You are wrong!"

        HideButtons()

        UnHideRestart()



    }

}

@IBAction func Button4Action(sender: AnyObject) {



    UnHide()

        if (CorrectAnswer == "4"){

       RandomQuestions()

        Hide()

        HideRestart()

        Score++
        ScoreLabel.text = NSString(format: "Score: %i", Score)
        if (Score > HighScore){
            HighScore = Score
            HighScoreLabel.text = NSString(format: "HighScore : %i", HighScore)


        }



    else{



        LabelEnd.text = "You are wrong!"

        HideButtons()

        UnHideRestart()



    }



}

所以总是当你按下正确的按钮时它的分数,并且总是在错误的时候,它给出一个标签“你错了!”。

问题有这些情况,最后有正确答案。

我有 4 个回答按钮。我还有 2 个 View Controller ,另一个是开始屏幕,第二个是游戏,我想在开始 View 上获得高分标签,在游戏 View 上获得得分标签。

非常感谢正手!

最佳答案

所有 ButtonXAction 函数都缺少右括号 )。复制粘贴时您可能错过了一行...

关于ios - 在 swift 中添加分数和高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29507623/

相关文章:

ios - 如何快速关闭弹出窗口

swift - 尝试将 CollectionView 添加到 ResuableView header ,例如 Instagram 或 SNapchat

ios - 无法在我的项目中导入 payfort 库

ios - 在 iOS 中实现自动完成

ios - 从 XCode 运行时找不到钥匙串(keychain)值

swift - 桥接 header 不存在

iphone - TabBar 图像插入不传输到 AdHoc 构建

ios - 如何测试 RxSwift Observable.interval 进度

ios - 访问错误、多线程、GCD、swift

swift - 指定表页脚时,最后一个单元格缺少 uitableview 分隔符