美文网首页
原生Js做个贪吃蛇

原生Js做个贪吃蛇

作者: 报告老师 | 来源:发表于2017-12-03 18:27 被阅读39次

<!doctype html> 

<html> 

<body> 

    <canvas id="can" width="400" height="400" style="background: Black"></canvas> 

    <script> 

        var sn = [ 42, 41 ], dz = 43, fx = 1, n, ctx = document.getElementById("can").getContext("2d"); 

        function draw(t, c) { 

            ctx.fillStyle = c; 

            ctx.fillRect(t % 20 * 20 + 1, ~~(t / 20) * 20 + 1, 18, 18); 

        } 

        document.onkeydown = function(e) { 

            fx = sn[1] - sn[0] == (n = [ -1, -20, 1, 20 ][(e || event).keyCode - 37] || fx) ? fx : n 

        }; 

        !function() { 

            sn.unshift(n = sn[0] + fx); 

            if (sn.indexOf(n, 1) > 0 || n<0||n>399 || fx == 1 && n % 20 == 0 || fx == -1 && n % 20 == 19) 

                return alert("GAME OVER"); 

            draw(n, "Lime"); 

            if (n == dz) { 

                while (sn.indexOf(dz = ~~(Math.random() * 400)) >= 0); 

                draw(dz, "Yellow"); 

            } else 

                draw(sn.pop(), "Black"); 

                setTimeout(arguments.callee, 130); 

        }(); 

    </script> 

</body> 

</html> 

效果图

原生Js做个贪吃蛇

相关文章

网友评论

      本文标题:原生Js做个贪吃蛇

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