首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助使Swift Cookie Clicker游戏自动保存

需要帮助使Swift Cookie Clicker游戏自动保存
EN

Stack Overflow用户
提问于 2020-10-07 10:27:13
回答 1查看 81关注 0票数 0

我是一名正在学习编程的九年级学生。在我掌握了基础知识之后,我想我应该在swift中做一个cookie点击游戏。我完成了这一点,并仍在努力改进它,使其更具可玩性,但我无法让它自动保存。我尝试过粘贴和修改其他一些行,但我做错了一些事情。我想让它在更新时自动保存变量click和mult。感谢您的帮助,谢谢。

代码语言:javascript
复制
//
//  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 = ""
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-12-04 00:43:19

我想这会行得通

选项1:将第一个代码片段添加到代码末尾

代码语言:javascript
复制
func updateUI(){
clickOutput.text = "\(click)"
        }

然后在你的

代码语言:javascript
复制
@IBAction func clickMeButton(_ sender: Any) {
        click = click + (1 * mult)
        clickOutput.text = "\(click)"
        
       }

把它改成这样

代码语言:javascript
复制
@IBAction func clickMeButton(_ sender: Any) {
            click = click + (1 * mult)
            clickOutput.text = "\(click)"
            updateUI()
       }

选项2:另一个想法是让updateUI()也进行计数,如果需要,还可以使用运算符+=将数字相加

代码语言:javascript
复制
func updateUI() { 
  click += 1
  clickOutput.text = "\(click)"
}

下一步与选项1中的步骤3相同

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64236336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档