JS實現“雙色球”


需求:

雙色球玩法簡單介紹:
  “雙色球”彩票投注區分為紅色球號碼區和藍色球號碼區。每注投注號碼由6個紅色球號碼和1個藍色球號碼組成。
紅色球號碼從1--33中選擇;藍色球號碼從1--16中選擇。
程序要求:
  1、彩票號碼按從大到小的順序輸出,且無重復數字
  2、不足兩位的號碼高位補0

 

 

參考:JS隨機數生成

一、包括下線數字(lower)不包括上限數字(upper)

    /**
     * 產生隨機整數,包含下限值,但不包括上限值
     * @param {Number} lower 下限
     * @param {Number} upper 上限
     * @return {Number} 返回在下限到上限之間的一個隨機整數
     */
    function random(lower, upper) {
        return Math.floor(Math.random() * (upper - lower)) + lower;
    }

//調用:console.log(random(1,100));

 

二、包括下線數字(lower)也包括上限數字(upper)

    /**
     * 產生隨機整數,包含下限值,包括上限值
     * @param {Number} lower 下限
     * @param {Number} upper 上限
     * @return {Number} 返回在下限到上限之間的一個隨機整數
     */
    function random(lower, upper) {
        return Math.floor(Math.random() * (upper - lower+1)) + lower;
    }  

console.log(random(1,100));

 

三、擴展

    /**
     * 產生一個隨機的rgb顏色
     * @return {String}  返回顏色rgb值字符串內容,如:rgb(201, 57, 96)
     */
    function randomColor() {
        // 隨機生成 rgb 值,每個顏色值在 0 - 255 之間
        var r = random(0, 256),
            g = random(0, 256),
            b = random(0, 256);
        // 連接字符串的結果
        var result = "rgb("+ r +","+ g +","+ b +")";
        // 返回結果
        return result;
    }

原文:https://blog.csdn.net/zerogf/article/details/79105567

下文原創:

<!Doctype html>
<html>
<head>
<title>雙色球</title>
<style>
    *{
        margin:0;
        padding:0;
    }
    .header{
        background-color:yellow;
        width:100%;
        height:100px;
        border:1px solid red;
        line-height: 100px;/*讓div中的文字內容垂直居中*/
        text-align: center;/*讓文字水平居中*/
    }
    
    
    .main{
        margin:0 auto;    
        width:100%;
        height:100px;
    
    }
    
    #num{
     position: relative;
        width:25%;
        height:100px;
        border:1px solid red;    
        margin:0 auto;    
    }
    #redNum{        
        color:red;
        float:left;
        border:1px solid red;
    }
    #blueNum{        
        color:blue;
        float:left;    
        border:1px solid red;        
    }

</style>

</head>
<body>
<div class="header">
雙色球
</div>
<div class="content">
<pre>
雙色球玩法簡單介紹:
  “雙色球”彩票投注區分為紅色球號碼區和藍色球號碼區。每注投注號碼由6個紅色球號碼和1個藍色球號碼組成。
紅色球號碼從1--33中選擇;藍色球號碼從1--16中選擇。
程序要求:
  1、彩票號碼按從大到小的順序輸出,且無重復數字
  2、不足兩位的號碼高位補0
</pre>
</div>
<hr>
<input onclick="createNum()" type = "button"value="點擊生成雙色球號碼"/>
<hr>
<div class="main">
    <div id="num">
        <div id="redNum"></div>
        <div id="blueNum"></div>
    </div>
</div>


</body>

<script>

    //js隨機數1到33生成不重復的
    function createNum(){
        // 裝隨機數
        var arr=[];//容器        
        
        //紅色球 6個
        while(arr.length<6){
            var num = Math.floor(Math.random()*33)+1;//js隨機數1到33
            if(-1 == arr.indexOf(num)){//數組中不存在
                num = parseInt(num,10);
                arr.push(prefixInteger(num,2));    
            }
        }        
        console.log("紅色球: "+arr);
        
        var redDiv = document.getElementById("redNum");
        redDiv.innerHTML = arr;
        
        //藍色球 1個
        while(arr.length<7){
            var num = Math.floor(Math.random()*16)+1;//js隨機數1到16
            if(-1 == arr.indexOf(num)){//數組中不存在
                num = parseInt(num,10);
                arr.push(prefixInteger(num,2));    
            }
        }    
        console.log("紅色球+藍色球: "+arr);
        
        var blueDiv = document.getElementById("blueNum");
        blueDiv.innerHTML = ","+arr[6];
    }
    
    // num傳入的數字,n需要的字符長度
    //例如:傳入6,需要的字符長度為3,調用方法后字符串結果為:006
    function prefixInteger(num, n) {
        return (Array(n).join(0) + num).slice(-n);
    }


</script>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM