JaveScript的趣味应用——选字游戏

<!DOCTYPE html>

<html>


    <head>

        <meta charset="UTF-8">

        <title>选字游戏</title>

        <style type="text/css">      

            * {

                margin: 0;

                padding: 0;

            }

            

            #wrap {

                width: 400px;

                height: 550px;

                border: 5px solid;

                margin: 20px auto;

            }

            /*浮动 时间*/

            #time {

                font-size: 30px;

                float: left;

            }

             /*浮动 数量*/

            #count {

                font-size: 30px;

                float: right;

            }

             /*清除浮动 居中*/

            #question {

                clear: both;

                font-size: 300px;

                text-align: center;

            }

            /*消除样式  开启弹性布局*/

            #answer {

                list-style: none;

                display: flex;

                justify-content: space-around;

                font-size: 40px;

            }

        </style>

    </head>


    <body>

        <div id="wrap">

            <!--时间-->

            <div id="time">剩余时间:0</div>

            <!--答对个数-->

            <div id="count">数量:0</div>

            <!--大字-->

            <div id="question">字</div>

            <!--小字-->

            <ul id="answer">

                <li>红</li>

                <li>黄</li>

                <li>蓝</li>

                <li>绿</li>

                <li>紫</li>

            </ul>

        </div>

        <script type="text/javascript">

            //文字数组

            var fontArr = ["红", "黄", "蓝", "绿", "紫"];


            //颜色数组

            var colorArr = ["red", "yellow", "blue", "green", "purple"];

            //随机函数

            function randomNumber(x, y) {

                return Math.floor(Math.random() * (y - x + 1) + x);

            }

            //声明一个变量存储答案

            var answer;

            //随机大字

            function randomQuestion() {

                var questionDiv = document.getElementById("question");


                //赋值随机文字和随机颜色

                questionDiv.innerHTML = fontArr[randomNumber(0, 4)];

                questionDiv.style.color = colorArr[randomNumber(0, 4)];

                switch(questionDiv.style.color) {

                    case "red":

                        {

                            answer = "红";

                            break;

                        }

                    case "yellow":

                        {

                            answer = "黄";

                            break;

                        }

                    case "blue":

                        {

                            answer = "蓝";

                            break;

                        }

                    case "green":

                        {

                            answer = "绿";

                            break;

                        }

                    case "purple":

                        {

                            answer = "紫";

                            break;

                        }

                    default:

                        break;

                }

            }

            randomQuestion();


            //随机小字

            var lis = document.querySelectorAll("li");


            function randomAnswer() {

                randomArr(fontArr);

                randomArr(colorArr);

                for(var i = 0; i < lis.length; i++) {

                    lis[i].innerHTML = fontArr[i];

                    lis[i].style.color = colorArr[i];

                }


            }

            randomAnswer();

            //洗牌

            function randomArr(array) {

                for(var i = 0; i < 10; i++) {

                    var r1 = randomNumber(0, 4);

                    var r2 = randomNumber(0, 4);

                    if(r1 != r2) {

                        var temp = array[r1];

                        array[r1] = array[r2];

                        array[r2] = temp;

                    }

                }

            }


            //剩余时间

            var time = 20;

            var timeDiv = document.getElementById("time");

            var timer = setInterval(function() {

                timeDiv.innerHTML = "剩余时间:" + time;

                if(time == 0) {

                    clearInterval(timer);

                    alert("游戏结束");

                }

                time--;

            }, 1000);

        

        var count = 0;

        var countDiv = document.getElementById("count");

            for(var i = 0; i < lis.length; i++) {

                lis[i].onclick = function() {

                    if (this.innerHTML == answer) {

                      count++;

                      countDiv.innerHTML = "数量:" + count;

                      randomQuestion();

                      randomAnswer();

                    }

                }

            }

        </script>

    </body>


</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值