自己写了个贪吃蛇游戏,如果不调用blwzd()可以一直吃并且重新生成,是在解决不了来询问各位老哥

 <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>比利王猎场小游戏</title>
        <style type="text/css">
            #s1 {
                overflow: hidden;
            }
            #s1 img {
                height: 100%;
            }
            #sw {
                overflow: hidden;
            }
            #sw img{
                height: 100%;
            }
            .xd {
                height: 40px; 
                background-color: blue; 
                width: 40px;
                position:absolute; 
                display: block; 
                 border-radius: 50%;
            }
        </style>
    </head>
    <body>
        <div style="width: 600px; height: 600px; border: solid 1px red; position: relative;" id="lc">
            <div style="height: 40px; background-color: red; width: 40px; position: absolute; border-radius: 50%;" id="s1">
                <img src="blw.jpg" />
            </div>
            <div id="sw" style="height: 40px; background-color: blue; width: 40px; position: absolute; display: none; border-radius: 50%;">
                <img src="js/xd2.jpg" />
                <div class='xd'>ss</div>
            </div>
        </div>
        <div id="soc" style="width: 100px; height: 100px;"></div>
        <input type="button" />
    </body>
    <script type="text/javascript">
    var div=document.getElementsByTagName("div");
    var sw=document.getElementById("sw");
    var soc=document.getElementById("soc");
    var btn=document.getElementsByTagName("input");
    var img=document.getElementById("sw").getElementsByTagName("img");
    var lc=document.getElementById("lc");
    var fx="";
    var Lp=1;
    var Rp=0;
    var Tp=1;
    var Bp=0;
    var timer;
    var zd=20;
    var soscer=0;
    var times;
    var xx=0;
    var he=new Array();
    he=["xd1.jpg","xd2.jpg","xd3.jpg","xd4.jpg","xd5.jpg","xd6.jpg"];

    var fx = "";
    //随机数380到0
    function  suiji() {
        return parseInt(Math.random()*(381-0)+0);
    }
    function  suiji2() {
        return parseInt(Math.random()*(6));
    }
    //键盘事件
        document.onkeydown=function(event){
         event.preventDefault();
        var e = event || window.event || arguments.callee.caller.arguments[0];

            if(e&&e.keyCode==38)
            {   

                clearInterval(timer);
                timer=setInterval(function(){
                    fx = "top";
                    Tp++;
                    sy();
                    cd();
                    soc.innerHTML="比利王今天抓了"+soscer+"基佬";

                },3);
            }
            if(e&&e.keyCode==37)
            {
                clearInterval(timer);
                timer=setInterval(function(){
                    fx = "left";
                    Lp++;
                    zy();
                    cd();
                    soc.innerHTML="比利王今天抓了"+soscer+"基佬";

                },1);

            }
            if(e&&e.keyCode==40)
            {


                clearInterval(timer);
                timer=setInterval(function(){
                    fx = "down";
                    Bp++;
                    xy();
                    cd();
                    soc.innerHTML="比利王今天抓了"+soscer+"基佬";

                },3);

            }
            if(e&&e.keyCode==39)
            {


                clearInterval(timer);
                timer=setInterval(function(){
                    fx = "right";
                    Rp++;
                    yy();
                    cd();
                    soc.innerHTML="比利王今天抓了"+soscer+"基佬";

                },3);

            }


        }
        //右移
        function sy(){
            if((Bp-Tp)<0)
            {
                alert("虚空智障棒棒锤分数"+soscer);
                clearInterval(timer);
            }
            else

            div[1].style.top=Bp-Tp+"px";
        }
        //左移动
        function zy(){
            if((Rp-Lp)<0)
            {
                alert("数码暴龙飞射怪分数"+soscer);
                clearInterval(timer);
            }
            else
            div[1].style.left=Rp-Lp+"px";
        }
        //下移
        function xy(){
            if((Bp-Tp)>560)
            {
                alert("盲僧莫言闪现q分数"+soscer);
                clearInterval(timer);
            }
            else
            div[1].style.top=Bp-Tp+"px";
        }
        //右移
        function yy(){
            if((Rp-Lp)>560)
            {
                alert("太极剑法张三疯分数"+soscer);
                clearInterval(timer);
            }
            else
            div[1].style.left=(Rp-Lp)+"px";
        }
        //分数
        function socer(){
            console.log("得分了")
            soscer++;
        }
        //随机生成个食物  并记录left top
        function sws() {

            img[0].src=he[suiji2()];
            sw.style.display="block";
            pl=this.suiji();
            sw.style.left=pl+"px";
            pt=this.suiji();        
            sw.style.top=pt+"px";
            // blwzd();

    }

        //来个东西吃
        sws();
        //判断吃没有吃到
        function cd(){

            if((Rp-Lp)<=pl)
            {

                if((Bp-Tp)<=pt)
                {

                    if(((pl-(Rp-Lp))<=40)&&((pt-(Bp-Tp))<=40))
                    {
                        console.log("_=_= 1")

                        socer();
                        blwzd();
                        sws();

                    }
                }
                else if((Bp-Tp)>pt)
                {
                    if(((pl-(Rp-Lp))<40)&&(((Bp-Tp)-pt)<40))
                    {
                        console.log("_=_= 2")


                        socer();
                        blwzd();
                        sws();

                    }
                }
            }
            else if((Rp-Lp)>pl)
            {
                if((Bp-Tp)<=pt)
                {
                    if((((Rp-Lp)-pl)<=40)&&(pt-(Bp-Tp)<=40))
                    {
                        console.log("_=_= 3")
                        socer();
                        blwzd();
                        sws();

                    }
                }
                else if((Bp-Tp)>pt)
                {
                    if((((Rp-Lp)-pl)<40)&&(((Bp-Tp)-pt)<40))
                    {
                        console.log("_=_= 4")
                        socer();
                        blwzd();
                        sws();

                    }
                }
            }
        }
        function blwzd(){
            console.log("____");
            lc.innerHTML +="<div class='xd'></div>"
            var xd=document.getElementsByClassName("xd");
            xx++;
            var newLeft = 0;
            var newTop = 0;
            switch(fx){
                case "left":
                    newTop = Bp-Tp;
                    newLeft = Rp-Lp + 40;
                    break;
                case "right":
                    newTop = Bp-Tp;
                    newLeft = Rp-Lp - 40;
                    break;
                case "top":
                    newTop = Bp-Tp + 40;
                    newLeft =Rp-Lp;
                    break;
                case "down":
                    newTop = Bp-Tp - 40;
                    newLeft = Rp-Lp;
                    break;
            }
            console.log(newLeft);
            console.log(newTop);
            xd[xx].style.left = newLeft + "px";
            xd[xx].style.top = newTop + "px";


        }
        btn[0].onclick=function(){

        }
    </script>
</html>

http://www.jb51.net/html5/88326.html

<!DOCTYPE html>



比利王猎场小游戏
<br> #s1 {<br> overflow: hidden;<br> }<br> #s1 img {<br> height: 100%;<br> }<br> #sw {<br> overflow: hidden;<br> }<br> #sw img{<br> height: 100%;<br> }<br> .xd {<br> height: 40px; <br> background-color: blue; <br> width: 40px;<br> position:absolute; <br> display: block; <br> border-radius: 50%;<br> }<br>




<!---->


<!---->
ss







<br> var div=document.getElementsByTagName(&quot;div&quot;);<br> var sw=document.getElementById(&quot;sw&quot;);<br> var soc=document.getElementById(&quot;soc&quot;);<br> var btn=document.getElementsByTagName(&quot;input&quot;);<br> var img=document.getElementById(&quot;sw&quot;).getElementsByTagName(&quot;img&quot;);<br> var lc=document.getElementById(&quot;lc&quot;);<br> var info = document.getElementById(&quot;info1&quot;);<br> var fx=&quot;&quot;;<br> var left=1;<br> var csstop=1;<br> var timer;<br> var zd=20;<br> var soscer=0;<br> var times;<br> var xx=0;<br> var he=new Array();<br> he=[&quot;xd1.jpg&quot;,&quot;xd2.jpg&quot;,&quot;xd3.jpg&quot;,&quot;xd4.jpg&quot;,&quot;xd5.jpg&quot;,&quot;xd6.jpg&quot;];</p> <pre><code>var fx = &quot;&quot;; //随机数380到0 function suiji() { return parseInt(Math.random()*(381-0)+0); } function suiji2() { return parseInt(Math.random()*(6)); } function inf(){ soc.innerHTML=&quot;比利王今天抓了&quot;+soscer+&quot;基佬&quot;; info.innerHTML=&quot;left:&quot;+left+&quot;|csstop:&quot;+csstop+&quot;|pl:&quot;+pl+&quot;|pt:&quot;+pt; } //键盘事件 document.onkeydown=function(event){ event.preventDefault(); var e = event || window.event || arguments.callee.caller.arguments[0]; if(e&amp;&amp;e.keyCode==38) { clearInterval(timer); timer=setInterval(function(){ fx = &quot;csstop&quot;; sy(); cd(); inf(); },3); } if(e&amp;&amp;e.keyCode==37) { clearInterval(timer); timer=setInterval(function(){ fx = &quot;left&quot;; zy(); cd(); inf(); },1); } if(e&amp;&amp;e.keyCode==40) { clearInterval(timer); timer=setInterval(function(){ fx = &quot;down&quot;; xy(); cd(); inf(); },3); } if(e&amp;&amp;e.keyCode==39) { clearInterval(timer); timer=setInterval(function(){ fx = &quot;right&quot;; left++; yy(); cd(); inf(); },3); } } //上移 function sy(){ csstop--; if((csstop)&lt;0) { alert(&quot;虚空智障棒棒锤分数&quot;+soscer); clearInterval(timer); } else div[1].style.top = csstop+&quot;px&quot;; } //左移动 function zy(){ left--; if((left)&lt;0) { alert(&quot;数码暴龙飞射怪分数&quot;+soscer); clearInterval(timer); } else div[1].style.left=left+&quot;px&quot;; } //下移 function xy(){ csstop++; if((csstop)&gt;560) { alert(&quot;盲僧莫言闪现q分数&quot;+soscer); clearInterval(timer); } else div[1].style.top = csstop+&quot;px&quot;; } //右移 function yy(){ left++; if((left)&gt;560) { alert(&quot;太极剑法张三疯分数&quot;+soscer); clearInterval(timer); } else div[1].style.left=left+&quot;px&quot;; } //分数 function socer(){ console.log(&quot;得分了&quot;) soscer++; } //随机生成并记录left csstop function sws() { pl=this.suiji(); pt=this.suiji(); } //页面加载初始化 function init(){ sws(); sw.style.display=&quot;block&quot;; sw.style.left=pl+&quot;px&quot;; sw.style.top =pt+&quot;px&quot;; } //来个东西吃 init(); //判断吃没有吃到 function cd(){ //左边 if((left + 40 &gt; pl) &amp;&amp; (left &lt; pl + 40) &amp;&amp; (csstop + 40 &gt; pt) &amp;&amp; (csstop &lt; pt + 40)){ socer(); sws(); blwzd(); //alert(1) } } //创建新的食物 function blwzd(){ console.log(&quot;____&quot;); sw.style.display = &quot;none&quot;; lc.innerHTML +=&quot;&lt;div class=&#39;xd&#39; id=&#39;xd&quot;+xx+&quot;&#39;&gt;&lt;/div&gt;&quot; var xd=document.getElementsByClassName(&quot;xd&quot;); xd[xx].style.display = &quot;none&quot;; xx++; xd[xx].style.left = pl + &quot;px&quot;; xd[xx].style.top = pt + &quot;px&quot;; } btn[0].onclick=function(){ } &lt;/script&gt; </code></pre> <p></html></p>

<!DOCTYPE html>



比利王猎场小游戏
<br> #s1 {<br> overflow: hidden;<br> }<br> #s1 img {<br> height: 100%;<br> }<br> #sw {<br> overflow: hidden;<br> }<br> #sw img{<br> height: 100%;<br> }<br> .xd {<br> height: 40px; <br> background-color: blue; <br> width: 40px;<br> position:absolute; <br> display: block; <br> border-radius: 50%;<br> }<br>




<!---->


<!---->
ss







<br> var div=document.getElementsByTagName(&quot;div&quot;);<br> var sw=document.getElementById(&quot;sw&quot;);<br> var soc=document.getElementById(&quot;soc&quot;);<br> var btn=document.getElementsByTagName(&quot;input&quot;);<br> var img=document.getElementById(&quot;sw&quot;).getElementsByTagName(&quot;img&quot;);<br> var lc=document.getElementById(&quot;lc&quot;);<br> var info = document.getElementById(&quot;info1&quot;);<br> var fx=&quot;&quot;;<br> var left=1;<br> var csstop=1;<br> var timer;<br> var zd=20;<br> var soscer=0;<br> var times;<br> var xx=0;<br> var he=new Array();<br> he=[&quot;xd1.jpg&quot;,&quot;xd2.jpg&quot;,&quot;xd3.jpg&quot;,&quot;xd4.jpg&quot;,&quot;xd5.jpg&quot;,&quot;xd6.jpg&quot;];</p> <pre><code>var fx = &quot;&quot;; //随机数380到0 function suiji() { return parseInt(Math.random()*(381-0)+0); } function suiji2() { return parseInt(Math.random()*(6)); } function inf(){ soc.innerHTML=&quot;比利王今天抓了&quot;+soscer+&quot;基佬&quot;; info.innerHTML=&quot;left:&quot;+left+&quot;|csstop:&quot;+csstop+&quot;|pl:&quot;+pl+&quot;|pt:&quot;+pt; } //键盘事件 document.onkeydown=function(event){ event.preventDefault(); var e = event || window.event || arguments.callee.caller.arguments[0]; if(e&amp;&amp;e.keyCode==38) { clearInterval(timer); timer=setInterval(function(){ fx = &quot;csstop&quot;; sy(); cd(); inf(); },3); } if(e&amp;&amp;e.keyCode==37) { clearInterval(timer); timer=setInterval(function(){ fx = &quot;left&quot;; zy(); cd(); inf(); },1); } if(e&amp;&amp;e.keyCode==40) { clearInterval(timer); timer=setInterval(function(){ fx = &quot;down&quot;; xy(); cd(); inf(); },3); } if(e&amp;&amp;e.keyCode==39) { clearInterval(timer); timer=setInterval(function(){ fx = &quot;right&quot;; left++; yy(); cd(); inf(); },3); } } //上移 function sy(){ csstop--; if((csstop)&lt;0) { alert(&quot;虚空智障棒棒锤分数&quot;+soscer); clearInterval(timer); } else div[1].style.top = csstop+&quot;px&quot;; } //左移动 function zy(){ left--; if((left)&lt;0) { alert(&quot;数码暴龙飞射怪分数&quot;+soscer); clearInterval(timer); } else div[1].style.left=left+&quot;px&quot;; } //下移 function xy(){ csstop++; if((csstop)&gt;560) { alert(&quot;盲僧莫言闪现q分数&quot;+soscer); clearInterval(timer); } else div[1].style.top = csstop+&quot;px&quot;; } //右移 function yy(){ left++; if((left)&gt;560) { alert(&quot;太极剑法张三疯分数&quot;+soscer); clearInterval(timer); } else div[1].style.left=left+&quot;px&quot;; } //分数 function socer(){ console.log(&quot;得分了&quot;) soscer++; } //随机生成并记录left csstop function sws() { pl=this.suiji(); pt=this.suiji(); } //页面加载初始化 function init(){ sws(); sw.style.display=&quot;block&quot;; sw.style.left=pl+&quot;px&quot;; sw.style.top =pt+&quot;px&quot;; } //来个东西吃 init(); //判断吃没有吃到 function cd(){ //左边 if((left + 40 &gt; pl) &amp;&amp; (left &lt; pl + 40) &amp;&amp; (csstop + 40 &gt; pt) &amp;&amp; (csstop &lt; pt + 40)){ socer(); sws(); blwzd(); //alert(1) } } //创建新的食物 function blwzd(){ console.log(&quot;____&quot;); sw.style.display = &quot;none&quot;; lc.innerHTML +=&quot;&lt;div class=&#39;xd&#39; id=&#39;xd&quot;+xx+&quot;&#39;&gt;&lt;/div&gt;&quot; var xd=document.getElementsByClassName(&quot;xd&quot;); xd[xx].style.display = &quot;none&quot;; xx++; xd[xx].style.left = pl + &quot;px&quot;; xd[xx].style.top = pt + &quot;px&quot;; } btn[0].onclick=function(){ } &lt;/script&gt; </code></pre> <p></html></p> <pre><code> </code></pre>