当前位置: 代码迷 >> .NET面试 >> JS 写的贪吃蛇 无聊发帖散分,该如何处理
  详细解决方案

JS 写的贪吃蛇 无聊发帖散分,该如何处理

热度:266   发布时间:2016-05-04 23:07:20.0
JS 写的贪吃蛇 无聊发帖散分
已下为 JS 部分代码 ,编写时间较短用了8个小时写的,还有部分 BUG 未解决,娱乐为辅,散分为主。
以下为网络地址:
http://www.needsee.com/game/html.html

JScript code
<script type="text/javascript" language="javascript">//--------------------------------//----制作者:   ║LZ↗雨辰║//--制作时间:   2010年5月21日//--制作用时:   8小时//--------QQ:   *********//--------------------------------    var key=39;                     //键值 39右键 37左键 38上建 下键40var trailId='';                 //记录头部IDvar tailId='';                  //记录尾部IDvar tailArray = new Array();    //ID 拆分的数组var randomL=20;                 //随机数 左IDvar randomR=30;                 //随机数 右IDvar foodCount=5;                //食物数量var count=0;                    //食物累计var times=200;                  //行进速度var timeSpace=10;               //速度递增值 注意:值必须大于等于1  function $(id){    return document.getElementById(id);} function run(){                     //程序入口    d();                            //程序主体    r();    $('txtTime').value = times;     //行进速度显示}  function r(){       //食物随机函数    var randomID = '';     randomL = Math.floor(Math.random()*52+1);    randomR = Math.floor(Math.random()*48+1);           if(count < foodCount){        randomID = randomL + '_' + randomR;        if($(randomID).style.background == 'white' && $(randomID).title == ''){            $(randomID).style.background = 'black';            $(randomID).title = '0';            count++;        }               }}    function d(){    var left=0;    var right=0;    var up=0;    var down=0;            var oId='';            tailArray = tailId.split('_');          //0 为左边(-1 上 +1 下) 1 为右边(-1 左 +1 右)尾部ID拆分    //alert(tailId);    //------------------------------到此尾部开始            left = Number(tailArray[1]) - 1;    if(left >= 1){                          //左边预算        var id = tailArray[0] + '_' + left;                    if($(id).style.background != 'white' && $(id).title == ''){//0 食物             oId = id;        }    }    right = Number(tailArray[1]) + 1;    if(right <= 50){                        //右边预算        var id = tailArray[0] + '_' + right;                   if($(id).style.background != 'white' && $(id).title == ''){//0 食物             oId = id;        }    }    up = Number(tailArray[0]) - 1;    if(up >= 1){                            //上边预算        var id = up + '_' + tailArray[1];                    if($(id).style.background != 'white' && $(id).title == ''){//0 食物             oId = id;        }    }    down = Number(tailArray[0]) + 1;    if(down <= 55){                           //下边预算        var id = down + '_' + tailArray[1];                    if($(id).style.background != 'white' && $(id).title == ''){//0 食物             oId = id;        }    }    //alert(tailId);    $(tailId).style.background='white';//将先前尾部变色    tailId = oId;//记录预算尾部ID            //------------------------------到此尾部结束    //------------------------------到此头部开始            tailArray = trailId.split('_');          //0 为左边(-1 上 +1 下) 1 为右边(-1 左 +1 右)头部ID拆分            if(key == 37){//左        left = Number(tailArray[1]) - 1;        if(left >= 1){                          //左边预算            var id = tailArray[0] + '_' + left;                            if($(id).style.background == 'white' && $(id).title == ''){//0 食物                 $(id).style.background = 'black';                $(id).title = '';                trailId = id;            }else if($(id).style.background == 'black' && $(id).title == '0'){                var ids = tailArray[0] + '_' + (left-1);                $(id).style.background = 'black';                $(id).title = '';                $(ids).style.background = 'black';                $(ids).title = '';                trailId = ids;                count--;                //times -= timeSpace;                times = times > timeSpace ? times - timeSpace : timeSpace;            }else{                $('butNewStart').style.display = 'block';                alert('Game Over !');                times = 600000;            }        }else{            $('butNewStart').style.display = 'block';            alert('Game Over !');            times = 600000;        }    }else if(key == 38){//上        up = Number(tailArray[0]) - 1;        if(up >= 1){                            //上边预算            var id = up + '_' + tailArray[1];                           if($(id).style.background == 'white' && $(id).title == ''){//0 食物                 $(id).style.background = 'black';                $(id).title = '';                trailId = id;            }else if($(id).style.background == 'black' && $(id).title == '0'){                var ids = (up-1) + '_' + tailArray[1];                $(id).style.background = 'black';                $(id).title = '';                $(ids).style.background = 'black';                $(ids).title = '';                trailId = ids;                count--;                //times -= timeSpace;                times = times > timeSpace ? times - timeSpace : timeSpace;            }else{                $('butNewStart').style.display = 'block';                alert('Game Over !');                times = 600000;            }        }else{            $('butNewStart').style.display = 'block';            alert('Game Over !');            times = 600000;        }    }else if(key == 39){//右        right = Number(tailArray[1]) + 1;        if(right <= 50){                        //右边预算            var id = tailArray[0] + '_' + right;                          if($(id).style.background == 'white' && $(id).title == ''){//0 食物                 $(id).style.background = 'black';                $(id).title = '';                trailId = id;            }else if($(id).style.background == 'black' && $(id).title == '0'){                var ids = tailArray[0] + '_' + (right+1);                $(id).style.background = 'black';                $(id).title = '';                $(ids).style.background = 'black';                $(ids).title = '';                trailId = ids;                count--;                //times -= timeSpace;                times = times > timeSpace ? times - timeSpace : timeSpace;            }else{                $('butNewStart').style.display = 'block';                alert('Game Over !');                times = 600000;            }        }else{            $('butNewStart').style.display = 'block';            alert('Game Over !');            times = 600000;        }    }else if(key == 40){//下        down = Number(tailArray[0]) + 1;        if(down <= 55){                           //下边预算            var id = down + '_' + tailArray[1];                          if($(id).style.background == 'white' && $(id).title == ''){//0 食物                 $(id).style.background = 'black';                $(id).title = '';                trailId = id;            }else if($(id).style.background == 'black' && $(id).title == '0'){                var ids = (down+1) + '_' + tailArray[1];                $(id).style.background = 'black';                $(id).title = '';                $(ids).style.background = 'black';                $(ids).title = '';                trailId = ids;                count--;                //times -= timeSpace;                times = times > timeSpace ? times - timeSpace : timeSpace;            }else{                $('butNewStart').style.display = 'block';                alert('Game Over !');                times = 600000;            }        }else{            $('butNewStart').style.display = 'block';            alert('Game Over !');            times = 600000;        }    }    //------------------------------到此头部结束            setTimeout('run()',times);}    //开始 初始位置function Start(id1,id2,id3){    trailId=id3;    tailId=id1;    times=200;    key=39;    count=0;            $(id1).style.background='black';    $(id2).style.background='black';    $(id3).style.background='black';            $('txtTime').value = times;    $('butStart').disabled = 'false';            run();}    //重新开始function newStart(){    $('butNewStart').style.display = 'none';       for(var i=1 ; i<=55 ; i++){        for(var j=1 ; j<=50 ; j++){            $(i+'_'+j).style.background='white';            $(i+'_'+j).title = '';        }    }    Start('1_1','1_2','1_3');}    function jumpPage(){    if(event.keyCode == 37){//左        if(key != 39){            key=37;        }    }    if(event.keyCode == 38){//上        if(key != 40){            key=38;        }    }    if(event.keyCode == 39){//右        if(key != 37){            key=39;        }    }    if(event.keyCode == 40){//下       if(key != 38){            key=40;       }    }}document.onkeydown=jumpPage;</script>
  相关解决方案