• 掷骰子-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

  • 相关阅读:
    阿里巴巴java开发手册学习
    策略模式
    windows常用技巧
    nginx学习
    Tomcat入门
    ThreadPoolTaskExecutor的简单使用
    linux服务器测试性能
    HAProxy1.5.x tcp example
    Haproxy开启日志
    Fix rpmdb: Thread died in Berkeley DB library
  • 原文地址:https://www.cnblogs.com/lhh-njq-best/p/6221801.html
Copyright © 2020-2023  润新知