我真的跪了,贪吃蛇游戏用js代码只用了30行!!!
<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");
refesh();
}
draw(n,"Lime");
if(n==dz){
while(sn.indexOf(dz=~~(Math.random()*400))>=0);
draw(dz,"Yellow");
}else{
draw(sn.pop(),"Black");
}
setTimeout(arguments.callee,300);数值大速度慢
}();
function refesh(){
location.reload();
}
</script>
</body>
</html>
以下是图示,使用方向键控制。
虽然没有其他积分什么功能,但是这个脚本太强了吧,大学时候我苦思冥想都想不到这些东西,果然站在巨人的肩膀上最强!!!