34行前端代码让你在浏览器可以玩本地贪吃蛇

转自https://bbs.csdn.net/topics/390793064?page=1

 1 <!doctype html><html><head></head><body>
 2 <div id="box" style="width:256px;font:25px/25px 宋体;background:#000;color:#9f9;"></div><script>
 3 var arr=[15];
 4 var next=10;//最好判断一下arr[1]!=arr[0]+x
 5 document.onkeydown=function(e){next={'37':-1,'39':1,'38':-10,'40':10}[(e?e:event).keyCode]};
 6 var run=setInterval(function(){
 7     var list=['-1&&arr[0]%10==0','1&&arr[0]%10==9','-10&&arr[0]<10','10&&arr[0]>189'];
 8     var temp=arr[0]+next;
 9     if(list.some(function(x){return eval('next=='+x)})||arr.indexOf(temp)>=0)
10         return clearInterval(run)||alert('OVER');
11     arr.unshift(temp);
12     if(this.food==null||food==temp){
13         list=[];//(list=Array(200)).forEach(function(val,i){list[i]=i});
14         for(var i=0;i<200;i++)
15             list.push(i);
16         list=list.filter(function(x){return arr.indexOf(x)<0});
17         food=list[Math.round(Math.random()*(list.length-1))];//food是全局变量
18     }
19     else
20         arr.pop();
21     var s='';
22     for(var j=0;j<200;j++){//这个循环还可以缩短
23         if(j%10==0&&j!=0)
24             s+='<br/>';
25         if(arr.indexOf(j)>=0)
26             s+='\u25a0';
27         else if(j==food)
28             s+='\u2605';
29         else
30             s+='&emsp;';
31     }
32     document.getElementById("box").innerHTML=s;
33 },200);
34 </script></body></html>

猜你喜欢

转载自www.cnblogs.com/smileglaze/p/11827984.html
今日推荐