js+贪吃蛇

来源:互联网 发布:谈谈你对json 的了解 编辑:程序博客网 时间:2024/04/26 06:53
周末无聊,写的一个小游戏,希望大牛指点下
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title></title><style>*{margin:0;padding:0;}div{margin:0 auto;}td{border:1px solid gray;width:20px;height:19px;}table{border-collapse:collapse;}</style></head><body><script>var speed=100;var flag=true;var left=false,right=true,up=false,down=false;var snake=[[2,0,randomColor(),""],[1,0,randomColor(),""],[0,0,randomColor(),""]];var oMap=document.createElement("div");oMap.style.width="800px";oMap.style.height="800px";oMap.style.backgroundColor="#ddd"oMap.style.position="relative";document.getElementsByTagName("body")[0].appendChild(oMap);var table = document.createElement("table");oMap.appendChild(table);for(var i =0;i<40;i++){var tr = document.createElement("tr");table.appendChild(tr);for(var j=0;j<40;j++){var td = document.createElement("td");tr.appendChild(td);}}createFood();createSnake();document.onkeydown=function(e){var e = e||window.e;var code = e.keyCode||e.which;switch(code){case 37:left=true;right=false;up=false;down=false;break;case 38:up=true;right=false;left=false;down=false;break;case 39:right=true;left=false;up=false;down=false;break;case 40:down=true;right=false;up=false;left=false;break;}}var l1;var t1;var oFood;function createFood(){if(flag==true){oFood = document.createElement("div");oFood.style.width="20px";oFood.style.height="20px";oFood.style.position="absolute";oMap.appendChild(oFood);flag=false;}oFood.style.background=randomColor();l1=parseInt(Math.random()*40);oFood.style.left=l1*20+"px";t1=parseInt(Math.random()*40);oFood.style.top=t1*20+"px";}function randomColor(){r=parseInt(Math.random()*256);g=parseInt(Math.random()*256);b=parseInt(Math.random()*256);return "rgb("+r+","+g+","+b+")";}var t=null;function createSnake(){if(right==true){var x=snake[0][0]+1;var y=snake[0][1];}if(down==true){var x=snake[0][0];var y=snake[0][1]+1;}if(left==true){var x=snake[0][0]-1;var y=snake[0][1];}if(up==true){var x=snake[0][0];var y=snake[0][1]-1;}snake.unshift([x,y,randomColor(),""]);var l=snake.length;var z=snake[l-1][0];var h=snake[l-1][1];snake.push([z,h,randomColor(),""]);console.log(snake.length);if(l1==snake[0][0]&&t1==snake[0][1]){speed--;createFood();var l11=snake.length;var z11=snake[l11-1][0];var h11=snake[l11-1][1];snake.push([z11,h11,randomColor(),""]);}for(var i=snake.length-1;i>0;i--){snake[i][0]=snake[i-1][0];snake[i][1]=snake[i-1][1];}snake.shift();snake.pop();for(var i=0;i<snake.length;i++){if(snake[i][3]==""){snake[i][3]=document.createElement("div");snake[i][3].style.width="20px";snake[i][3].style.height="20px";snake[i][3].style.position="absolute";snake[i][3].style.backgroundColor=snake[i][2];snake[i][3].style.left=snake[i][0]*20+"px";snake[i][3].style.top=snake[i][1]*20+"px";oMap.appendChild(snake[i][3]);}}for(var i=0;i<snake.length;i++){snake[i][3].style.left=snake[i][0]*20+"px";snake[i][3].style.top=snake[i][1]*20+"px";}t =setTimeout('createSnake()',speed);if(snake[0][0]<0||snake[0][1]<0||snake[0][0]>=40||snake[0][1]>=40){clearTimeout(t);alert("gg");}for(var i=0;i<snake.length;i++){if(snake[0][0]==snake[i][0]&&snake[0][1]==snake[i][1]&&i!=0){clearTimeout(t);alert("gg");}}}</script></body></html>

0 0