双色球

作者: 瑞破破 | 来源:发表于2018-08-11 16:43 被阅读0次

    首先,介绍下双色球:

    在中华大陆,有7颗龙珠,其中由6颗红珠和1颗蓝珠组成,7颗龙珠上镶嵌数字,红珠上的数字为01-33(没有重复数字);蓝珠上的数字为01-16,7颗龙珠的数字每周二,周四,周日都会发生改变。传说,猜中7颗龙珠上数字的人,将获得一笔巨款。

    好了我编不下去了,来捋一下需求吧(认真脸)~~~

    1、7个球,6个红色,一个蓝色;

    2、红球数字为01-33,且不重复,需要注意的是都是两位数;

    3、蓝色球是01-16,也是两位数;

    4、都是随机的;

    有了这些需求,我们可以开始了

    这里我们根据需求,封装了随机数的函数,这个函数反出来一个随机数

    
    function rnd(n,m){
    
        return parseInt(Math.random()*(m-n)+n);
    
    }
    

    用于往个位数前边补零的方法
    如果这个数字小于10就反出来 0加上这个数字
    否则的话返回空字符串加上这个数字
    实现1-9这些数字都变为01-09;

    function tuDou(n){
    
      if(n<10){
    
        return '0'+n;
    
      }else{
    
        return ''+n;
    
      }
    
    }
    
    

    用来查重的方法(数组)

    function findInarr(item,arr){
        for(var i=0;i<arr.length;i++){
            if(item==arr[i]){
                return true;
            }
        }
    }
    

    封装的函数准备好了,我们就可以开始敲代码了
    HTML就不用说了,大家做7个球就行了 2333~~~

    然后,我们需要的是6个不重复的随机数,范围是1-33;然后还得把1-9变为01-09;
    循环6个随机数;
    然后查重,补零;
    就得到了一个数组 [ 6个不重复数字 ]

    var arr = [];
    for(var i=0;i<6;i++){
        var n=rnd(0,34);
        if(!findInarr(n,arr)){
            arr.push(tuDou(n));
        }else{
            i--;        
        }   
    }
    

    接下来,把数组中的数字循环放入前6个球中

    $('div').each(function(){
        $(this).html(arr[$(this).index()])
    })
    

    然后蓝球就简单了,定义一个随机数,放到放到蓝色球就行了

    var mn = tuDou(rnd(0,16));
    $('div:eq(6)').html(mn);
    

    好了,上效果图


    双色球.png

    OK了,大家可以用随机数加上定时器做一个类似于抽奖的demo;拜拜~~

    相关文章

      网友评论

          本文标题:双色球

          本文链接:https://www.haomeiwen.com/subject/cqpdbftx.html