absで絶対値に変換する

連敗中は、「-3連敗」ではなく、「3連敗」としたい。

if self.load > 1 {
self.gameResult.text = String(self.load) + str
} else if self.load < -1{ self.gameResult.text = String(abs(self.load)) + strl } else { } [/code] きたーーーーーー
とりあえず、じゃんけんアプリ完成!
さて、app申請したい。

連勝中に負けた時、連敗中に勝った時の処理を加える

@IBAction func getChoki(_ sender: Any) {
        let results2 = ["Image1","Image2","Image3"]
        let random2 = arc4random_uniform(UInt32(results2.count))
        let image2 = UIImage(named: results2[Int(random2)])
        imageView.image = image2
        let image5 = UIImage(named: "Image5")
        imageView2.image = image5
        
        let even = "あいこ"
        let win = "あなたの勝ち"
        let lose = "あなたの負け"
        
        if random2 == 0 {
            self.gameResult.text = lose
            if self.userDefaults.object(forKey: "load") != nil {
                if self.userDefaults.integer(forKey:"load") < 0 {
                    self.load = self.userDefaults.integer(forKey:"load")
                    self.load -= 1
                } else {
                    self.load = -1
                }
            } else {
                self.load = -1
            }
        } else if(random2 == 1){
            self.gameResult.text = even
            if self.userDefaults.object(forKey: "load") != nil {
                self.load = self.userDefaults.integer(forKey: "load")
            } else {
                self.load = 0
            }
        } else {
            self.gameResult.text = win
            if self.userDefaults.object(forKey: "load") != nil {
                if self.userDefaults.integer(forKey:"load") > 0 {
                    self.load = self.userDefaults.integer(forKey:"load")
                    self.load += 1
                } else {
                    self.load = 1
                }
            } else {
                self.load = 1
            }
        }
        self.gameResult.text = String(self.load) + str
        UserDefaults.standard.set(self.load, forKey: "load")
    }

7連勝中でも、一度負けると-1連勝に成りました。
あとはviewの分岐ですね。

userDefaultsで連勝している値を保存する

self.userDefaults.object(forKey: “load”) != nil で、空判定

    let userDefaults = UserDefaults.standard

    var load = 0
    var str:String = "連勝"

    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var resultView: UILabel!
    @IBOutlet weak var imageView2: UIImageView!
    @IBOutlet weak var gameResult: UILabel!

    @IBAction func getGoo(_ sender: Any) {
        let results1 = ["Image1","Image2","Image3"]
        let random1 = arc4random_uniform(UInt32(results1.count))
        let image1 = UIImage(named: results1[Int(random1)])
        imageView.image = image1
        let image4 = UIImage(named: "Image4")
        imageView2.image = image4
        
        let even = "あいこ"
        let win = "あなたの勝ち"
        let lose = "あなたの負け"
        
        if random1 == 0 {
            self.gameResult.text = even
            if self.userDefaults.object(forKey: "load") != nil {
                self.load = self.userDefaults.integer(forKey: "load")
            } else {
                self.load = 0
            }
        } else if(random1 == 1){
            self.gameResult.text = win
            if self.userDefaults.object(forKey: "load") != nil {
                self.load = self.userDefaults.integer(forKey:"load")
                self.load += 1
            } else {
                self.load = 1
            }
        } else {
            self.gameResult.text = lose
            if self.userDefaults.object(forKey: "load") != nil {
                self.load = self.userDefaults.integer(forKey:"load")
                self.load -= 1
            } else {
                self.load = -1
            }
        }
        self.gameResult.text = String(self.load) + str
        UserDefaults.standard.set(self.load, forKey: "load")
        
    }

なるほど、保存できることはわかった。

負けた時に、-1連勝となるので、var str:String = “連勝” の他に、連敗のテキストを作り、連勝中の負けの時と連敗中の勝ちの時は、load = 0 にリセットですな。

勝ちの時

if self.userDefaults.object(forKey: "load") != nil {
                if self.userDefaults.integer(forKey:"load") > 0 {
                    self.load = self.userDefaults.integer(forKey:"load")
                    self.load += 1
                } else {
                    self.load = 0
                }

負けの時

if self.userDefaults.integer(forKey:”load”) < 0 { self.load = self.userDefaults.integer(forKey:"load") self.load -= 1 } else { self.load = 0 } [/code]

userDefaultsを使ってみる。

UserDefaults.standardを変数にします。

let userDefaults = UserDefaults.standard
var load = 0

0でない場合は、1を足し、0は1。

if self.userDefaults.integer(forKey: "load") != 0 {
            self.load = self.userDefaults.integer(forKey:"load")
            self.load += 1
        } else {
                self.load = 1
        }
        UserDefaults.standard.set(1, forKey: "load")

あ、self.userDefaults.integer(forKey: “load”) > 0 か。elseはokですね。
これを、グーチョキパーの勝ち負け引き分けパターン入れていく。
負けの場合は self.userDefaults.integer(forKey: “load”) < 0 として、表示する時に更に分岐で連勝・連敗を表示か。