掷骰子-IOS新手项目练习(抱歉,由于个人原因,图片没显示,要源码的项目私聊)

---恢复内容开始---

今天我们来讲的就是项目《掷骰子》

首先我们先下载资源包,也就是我们需要的图片【点击图片下载】

    在我们下载完图片之后,我们就可以开始创建项目

     一、我们项目的做法可以有两种:

                  

首先我们要看一下我们需要看一下我们的要求成果图

我们创建一个新项目,定义一个throwsDice名字,使用swift语言

创建完之后我们就会看到上面这个图:

   我们需要关注ViewController和Main

      1、ViewController就是一个视图控制器

        2、Main就是我们的视图

  1. 首先我们先把界面画好

在放骰子的地方需要三张图片,那么我们需要在属性那里找到imageview,

        调整imageview的大小,再复制粘贴出2份,就成了下图所示

             

接下来就是点击按钮,买大买小豹子,

    如下图找到button,拖拽到界面上,调整位置和大小,复制出两份,双击按钮写按钮作用,如下图

      

最后就是关于显示买家和庄家的钱数

      我们使用label,,调整位置和大小,复制粘贴多份,双击命名,填写初始值

        

现在我们的界面就做好了

     如何将图片放在imageview上呢?

将我们下载的图片压缩包解压之后,拖入项目中,我们一般是放在Assets.xcassets的一个文件夹中,这里我为了快速,就直接放在外面了

之后点击对应的imageview,点击右上角的属性,找到图片这一行没选择自己在界面上第一次显示的图片(初始化图片)

        

然后效果就是这样的了!

    2.将视图和视图控制器关联起来

     3.将功能实现(1、图片切换   2、按钮买大买小   3、判断输赢进行加减运算)

            我们的功能在Viewcontroller中进行

如何进行绑定呢?

  点击Main,再点击右上角两个圈圈的图案就会显示如图

点击你要绑定的imageview或者button或者label

右键直接拉到视图控制器这个类中,一般的选outlet   事件选action。注意:在这里没有顶级类

这个是按钮的绑定事件,第一个按钮是买大,第二个是卖豹子,第三个是买小

切换图片,就是上图中我们调用的changeImage方法,所以我们要自定义一个方法来切换

    在图中使用的imageNumber我们在方法外就要定义赋初始值  var imageNumber = 0  和 我们使用的timer初始化 var timer:Timer?

如何判断是买大买小,我们使用枚举来区别:在类外设置一个枚举,在类中初始化var selectType = SelectType.Big,这样就可以调用枚举进行判断你点击的是买大还是买小

判断输赢给买家和庄家进行加减,当然图中使用的一些属性需要定义

    var dice1Num:Int = 0

    var dice2Num:Int = 0

    var dice3Num:Int = 0

    var playerMoney = 1000

    var bossMoney = 1000

于是我们这个简单的掷骰子就基本完成了,当然如果我们让它可以横屏同样玩,则需要加约束

下面就是控制器中所有的代码

  1 //
  2 //  ViewController.swift
  3 //  throwsDice
  4 //
  5 //  Created by c03 on 2016/11/25.
  6 //  Copyright © 2016年 MakeSmallApp. All rights reserved.
  7 //
  8 
  9 import UIKit
 10 //定义一个枚举
 11 enum SelectType{
 12     case Big,Same,Small
 13 }
 14 class ViewController: UIViewController {
 15    
 16     @IBOutlet weak var playLabel: UILabel!
 17     
 18     @IBOutlet weak var bossLabel: UILabel!
 19     
 20     @IBOutlet weak var diceViewOne: UIImageView!
 21     @IBOutlet weak var diceViewTwo: UIImageView!
 22     @IBOutlet weak var diceViewThree: UIImageView!
 23     
 24     var selectType = SelectType.Big
 25     var dice1Num:Int = 0
 26     var dice2Num:Int = 0
 27     var dice3Num:Int = 0
 28     var playerMoney = 1000
 29     var bossMoney = 1000
 30     
 31     //判断输赢
 32     func judgeResult(){
 33         let zhongjian = dice1Num + dice2Num
 34         let sum = zhongjian + dice3Num
 35         switch selectType {
 36             case .Big:
 37                 if sum > 11 {
 38                     self.playerMoney+=30
 39                     self.bossMoney-=30
 40                 }else{
 41                     self.playerMoney-=30
 42                     self.bossMoney+=30
 43                 }
 44             case .Same:
 45                 if dice1Num == dice2Num && dice2Num == dice3Num {
 46                     self.playerMoney+=100
 47                     self.bossMoney-=100
 48                 }else{
 49                     self.playerMoney-=100
 50                     self.bossMoney+=100
 51             }
 52             case .Small:
 53                 if sum < 11 {
 54                     self.playerMoney+=30
 55                     self.bossMoney-=30
 56                 }else{
 57                     self.playerMoney-=30
 58                     self.bossMoney+=30
 59             }
 60 
 61             default:
 62                 print("这是默认的")
 63         }
 64         playLabel.text = String(playerMoney)
 65         bossLabel.text = String(bossMoney)
 66 
 67     }
 68     
 69     func changeImage(){
 70         let i1 = arc4random()%6 + 1
 71         let name1 = String(i1) + ".gif"
 72         let image1 = UIImage(named: name1)
 73         diceViewOne.image = image1
 74         dice1Num = Int(i1)
 75         
 76         let i2 = arc4random()%6 + 1
 77         let name2 = String(i2) + ".gif"
 78         let image2 = UIImage(named: name2)
 79         diceViewTwo.image = image2
 80          dice2Num = Int(i2)
 81         
 82         let i3 = arc4random()%6 + 1
 83         let name3 = String(i3) + ".gif"
 84         let image3 = UIImage(named: name3)
 85         diceViewThree.image = image3
 86          dice3Num = Int(i3)
 87         
 88         imageNumber += 1
 89         if imageNumber > 20 {
 90             timer?.invalidate()
 91             imageNumber = 0
 92             judgeResult()
 93         }
 94     }
 95     var timer:Timer?
 96     var imageNumber = 0
 97 
 98     @IBAction func btnOne(_ sender: Any) {
 99         selectType = .Big
100         //定义一个定时器来控制换图片
101         timer?.invalidate()
102         timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(ViewController.changeImage), userInfo: nil, repeats: true)
103     }
104     @IBAction func btnTwo(_ sender: Any) {
105         selectType = .Same
106         //定义一个定时器来控制换图片
107         timer?.invalidate()
108         timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(ViewController.changeImage), userInfo: nil, repeats: true)
109     }
110     @IBAction func btnThree(_ sender: Any) {
111         selectType = .Small
112         //定义一个定时器来控制换图片
113         timer?.invalidate()
114         timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(ViewController.changeImage), userInfo: nil, repeats: true)
115     }
116     
117     
118     
119     
120     override func viewDidLoad() {
121         super.viewDidLoad()
122         // Do any additional setup after loading the view, typically from a nib.
123     }
124 
125    
126 }

  大家可以试试,写个博客半天就没了,时间过的好快,吃饭去了!Bye

原文地址:https://www.cnblogs.com/lhh-njq-best/p/6221801.html