20行代码《贪吃蛇》游戏[原创]

天际的海浪 2015-02-23 06:36:13
春节期间无聊随便写的,贪吃蛇的算法比以前写的俄罗斯方块简单多了,不知道有人写过类似的么。

祝大家春节快乐!

<!doctype html><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");
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,130);
}();
</script></body></html>
...全文
2143 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
zc_juck 2017-08-15
  • 打赏
  • 举报
回复
这份代码是最初始的代码~之后看到好多复制的
dglsx123 2017-07-09
  • 打赏
  • 举报
回复
大神,666
cooljser 2016-10-18
  • 打赏
  • 举报
回复
大神,6666666
编号792458 2016-10-17
  • 打赏
  • 举报
回复
引用 8 楼 hl_077 的回复:
看不懂,是怎么控制方向键的?
有一个叫keycode的东东是控制方向的
smn13524 2016-10-16
  • 打赏
  • 举报
回复
看不懂,大神。能否讲一讲?
ideep 2016-03-11
  • 打赏
  • 举报
回复
给你个膝盖吧~~确实强
公西雒 2016-03-11
  • 打赏
  • 举报
回复
66666好牛逼
adam_gin 2016-03-11
  • 打赏
  • 举报
回复
厉害!!!!谢谢分享
江南书童 2016-03-11
  • 打赏
  • 举报
回复
不错不错,学习了
文盲老顾 2016-03-11
  • 打赏
  • 举报
回复
真心佩服,仔细研究,努力学习
Randy_hsu 2016-03-10
  • 打赏
  • 举报
回复
canvas不太会哦~大神
fcqm8888 2016-03-10
  • 打赏
  • 举报
回复
这种游戏,有何乐趣?说说吧。
y29508968 2016-03-10
  • 打赏
  • 举报
回复
我关注你了,大神
mfdulang 2015-08-23
  • 打赏
  • 举报
回复
真的很牛B,佩服很!
venvivo 2015-08-22
  • 打赏
  • 举报
回复
我们用的是一种语言么? 看不懂
-妖孽 2015-08-21
  • 打赏
  • 举报
回复
好厉害
顾小林 2015-08-21
  • 打赏
  • 举报
回复
mark!!
misaka去年夏天 2015-08-21
  • 打赏
  • 举报
回复
代码的逻辑性真强。。。很难懂啊
qq137051908 2015-08-21
  • 打赏
  • 举报
回复
学习了
zl520yy 2015-07-24
  • 打赏
  • 举报
回复
大神,写个注释呗,就看懂了第一行创建了画布,贪吃蛇的点还有吃到点了之后怎么控制的
加载更多回复(9)

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧