我是一名正在学习编程的九年级学生。在我掌握了基础知识之后,我想我应该在swift中做一个cookie点击游戏。我完成了这一点,并仍在努力改进它,使其更具可玩性,但我无法让它自动保存。我尝试过粘贴和修改其他一些行,但我做错了一些事情。我想让它在更新时自动保存变量click和mult。感谢您的帮助,谢谢。
//
// ViewController.swift
// EthanClicker
//
// Created by Ethan on 10/4/20.
//
import UIKit
class ViewController: UIViewController {
//Outlets/////////////////////////////////
@IBOutlet weak var clickOutput: UILabel!
@IBOutlet weak var multOutput: UILabel!
@IBOutlet weak var messageOutput: UILabel!
//Variables/////////////////////////////////
@objc var click = 0
var mult = 1
@IBAction func clickMeButton(_ sender: Any) {
click = click + (1 * mult)
clickOutput.text = "\(click)"
}
@IBAction func twoX(_ sender: Any) {
if ((click >= 100) && (mult == 1)) {
mult = 2
click = click - 100
multOutput.text = "\(mult)"
clickOutput.text = "\(click)"
messageOutput.text = "Nice Job! Keep Going!"
} else {
error()
}
}
@IBAction func fourX(_ sender: Any) {
if ((click >= 1000) && (mult == 2)) {
mult = 4
click = click - 1000
clickOutput.text = "\(click)"
multOutput.text = "\(mult)"
messageOutput.text = "Getting closer, Keep Going!"
} else {
error()
}
}
@IBAction func eightX(_ sender: Any) {
if ((click >= 10000) && (mult == 4)) {
mult = 8
click = click - 10000
clickOutput.text = "\(click)"
multOutput.text = "\(mult)"
messageOutput.text = "You Did It! Now Keep Playing To See How High You Can Go"
} else {
error()
}
}
@IBAction func sixteenX(_ sender: Any) {
if ((click >= 100000) && (mult == 8)) {
mult = 16
click = click - 100000
clickOutput.text = "\(click)"
multOutput.text = "\(mult)"
messageOutput.text = "You Did It! Now Keep Playing To See How High You Can Go"
} else {
error()
}
}
@IBAction func thirtytwox(_ sender: Any) {
if ((click >= 1000000) && (mult == 16)) {
mult = 32
click = click - 1000000
clickOutput.text = "\(click)"
multOutput.text = "\(mult)"
messageOutput.text = "You Did It! Now Keep Playing To See How High You Can Go"
} else {
error()
}
}
@IBAction func sixtyfourX(_ sender: Any) {
if ((click >= 10000000) && (mult == 32)) {
mult = 64
click = click - 10000000
clickOutput.text = "\(click)"
multOutput.text = "\(mult)"
messageOutput.text = "You Did It! Now Keep Playing To See How High You Can Go"
} else {
error()
}
}
func error() {
messageOutput.text = "Not enough Clicks, keep going!"
}
override func viewDidLoad() {
super.viewDidLoad()
clickOutput.text = "\(click)"
multOutput.text = "\(mult)"
messageOutput.text = ""
}
}发布于 2020-12-04 00:43:19
我想这会行得通
选项1:将第一个代码片段添加到代码末尾
func updateUI(){
clickOutput.text = "\(click)"
}然后在你的
@IBAction func clickMeButton(_ sender: Any) {
click = click + (1 * mult)
clickOutput.text = "\(click)"
}
把它改成这样
@IBAction func clickMeButton(_ sender: Any) {
click = click + (1 * mult)
clickOutput.text = "\(click)"
updateUI()
}
选项2:另一个想法是让updateUI()也进行计数,如果需要,还可以使用运算符+=将数字相加
func updateUI() {
click += 1
clickOutput.text = "\(click)"
}
下一步与选项1中的步骤3相同
https://stackoverflow.com/questions/64236336
复制相似问题