javascript寫貪吃蛇游戲(20行代碼!)


<!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,"red");

            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>

 

此代碼由於太簡潔,'聰明' 以至於犧牲了很多可讀性

 

 

由於發表的字數不能少於150字,所以下面是字數填充啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

 


免責聲明!

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



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