随机骰子

IBOutle和IBAction

先对storyboard进行布局
在这里插入图片描述

将两个骰子图片和Roll按钮拖入ViewController

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet weak var diceImageView1: UIImageView!
    @IBOutlet weak var diceImageView2: UIImageView!
    
    @IBAction func roll(_ sender: Any) {
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.        
    }
}

创建一个字符串数组,存储所有骰子点数的图片
创建两个变量,存储随机数

 let diceArray = ["dice1","dice2","dice3","dice4","dice5","dice6"]

 var index1: Int = 0
 var index2: Int = 0

创建一个得到随机数,更新UIImage的函数

func updateDiceImages(){
        
        index1 = Int.random(in: 0...5)
        index2 = Int.random(in: 0...5)
        
        diceImageView1.image = UIImage(named: diceArray[index1])
        diceImageView2.image = UIImage(named: diceArray[index2])

    }

每次程序开始都执行这个函数

override func viewDidLoad() {
        super.viewDidLoad()
        updateDiceImages()
    }

用motionEnd来实现手机摇一摇执行函数

override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
        updateDiceImages()
    }

点击Roll按钮执行函数

@IBAction func roll(_ sender: Any) {
        
        updateDiceImages()

    }

最后app完成的代码

import UIKit

class ViewController: UIViewController {
    
    let diceArray = ["dice1","dice2","dice3","dice4","dice5","dice6"]

    var index1: Int = 0
    var index2: Int = 0
    
    @IBOutlet weak var diceImageView1: UIImageView!
    @IBOutlet weak var diceImageView2: UIImageView!
    
    @IBAction func roll(_ sender: Any) {
        
        updateDiceImages()

    }
    
    override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
        updateDiceImages()
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        updateDiceImages()
        
    }
    
    func updateDiceImages(){
        
        index1 = Int.random(in: 0...5)
        index2 = Int.random(in: 0...5)
        
        diceImageView1.image = UIImage(named: diceArray[index1])
        diceImageView2.image = UIImage(named: diceArray[index2])

    }


}

发布了6 篇原创文章 · 获赞 8 · 访问量 356

猜你喜欢

转载自blog.csdn.net/qq_44864362/article/details/100171804