JavaScript彩票

这段代码实现了一个简单的彩票游戏模拟,用户可以输入购买的彩票号码,点击开奖按钮后,程序会生成一个随机的7位数彩票号码,并判断用户是否中奖。中奖等级从特等奖到五等奖,奖金数额根据等级不同而变化。如果用户资金不足,会询问是否继续游戏。
摘要由CSDN通过智能技术生成
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>彩票游戏author:秋水墨色染</title>
    <script>
        function myClick(idStr, fun) {
            var btn = document.getElementById(idStr);
            btn.onclick = fun;
        }

        window.onload = function () {
            var text02 = document.getElementById("text02");
            var text03 = document.getElementById("text03");
            var text04 = document.getElementById("text04");


            var intResult;

            myClick("bTn", function () {
                var text01 = document.getElementById("text01");


                if (text01.value >= 2) {
                    text01.value -= 2;
                    // 每次点击生成一个空数组
                    var num = [];
                    for (var i = 0; i < 7; i++) {
                        // 生成随机数
                        var n = Math.round(Math.random() * 9);
                        // 存入
                        num.push(n);
                        // 想什么时候跳出循环
                        if (num.length == 7) break;
                    }
                    var c = "";
                    for (var i = 0, l = num.length; i < l; i++) {
                        c = c + num[i];
                    }
                    document.getElementById("text03").value = c;
                    var len = '7';



                    //判断是否中奖
                    switch (intResult = test_match(text02.value, text03.value)) {
                        //中奖的话输出提示,并返回现金给用户
                        case 2:
                        case 3:
                        case 4:
                        case 5:
                        case 6:
                        case 7:
                            alert(intResult)
                            text04.value = "恭喜你中了" + ["特", "一", "二", "三", "四", "五"][7 - intResult] + "等奖,获得了" + (5000000 / Math.pow(10, 7 - intResult)) + "元";
                            text01.value = parseInt(text01.value) + 5000000 / Math.pow(10, 7 - intResult);
                            break;
                        //只有一位数字和中奖号码相同
                        case 1:
                            text04.value = "可惜只差一点就中奖了,加油啊";
                            break;
                        //所有数字全都不同
                        case 0:
                        default:
                            text04.value = "真可惜没有中奖...";
                    }
                } else {
                    if (confirm("你已经用光所有的钱,还要再来一次吗?")) {
                        text01.value = 10;
                    } else {
                        window.close();
                    }
                }


                function test_match(str1, str2) {
                    var result = new Array();
                    var matched = 0;

                    for (var i = 0; i < Number(len); i++) {
                        console.log(str1.charAt(i))
                        console.log(str2.charAt(i))
                        if (str1.charAt(i) == str2.charAt(i)) {
                            matched++;

                        } else if (matched > 0) {
                            result.push(matched);
                            matched = 0;
                        }
                    }
                    if (matched > 0) {
                        result.push(matched);
                    }
                    result.sort();
                    return (result.pop());
                }

            });


        }
    </script>
</head>
<body>
<table>
    现有资金:<input type="text" id="text01" value="10" readonly="readonly" style="width: 20px;"><br/><br/>
    输入购买的彩票号码(7位数):<input type="text" id="text02" style="width: 100px;" maxlength="7"
                          onkeyup="value=value.replace(/[^\d]/g,'')" onblur="value=value.replace(/[^\d]/g,'')"
                          ng-model="schedule.round">
    <br/><br/>
    <button id="bTn">开奖</button>
    <br/><br/>
    本期开奖号码:<input type="text" id="text03" readonly="readonly" style="width: 100px;">
    <br/><br/>
    结果:<input type="text" id="text04" style="width: 200px;" readonly="readonly">
</table>
</body>
</html>

代码有些细节没做修改,基本功能已实现

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值