我正在制作这个带有图片的问答游戏。
我正在尝试添加分数。总是当你按下正确答案时,你会得到一个分数,当你按下错误答案时,你必须重新开始游戏(我已经完成了)。
我的问题是无论我尝试将此代码放在何处,都会出现各种错误。
所以这是高分代码:
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/