13行js写贪吃蛇游戏
Posted migeater
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13行js写贪吃蛇游戏相关的知识,希望对你有一定的参考价值。
先上源码,版本是ES6
13行常规(700bytes) |
|
压缩后的500bytes(当然两处document还是可以用eval压缩的) |
|
之前很火的20行代码地址(有BUG)(900bytes) |
一维数组700char
(0,0)位置的蛇身用0表示,(0,1)用1,(1,0)用10表示,以此类推
因为就13行js,
第4行 是声明
第5行 比较难理解,可以把?:运算符,拆分为4行if语句;可以参考下面的 二维数组 的版本
第9行 0|x 和 ~~x 和 x>>0 都能去除x(number)的尾数
应该算易读了
|
颜色效果
|
说明
如果自己要写的话:要注意两点
- 蛇尾应该比蛇头先消失,蛇头应该比食物先生成,
-
蛇不能走当前相反的方向
可以用长度为4的蛇进行测试
代码风格
-
省去没必要的标签
https://google.github.io/styleguide/htmlcssguide.html#Optional_Tags
-
if() return只用一行
-
除了键盘响应那里用3目运算符能省3行之外,其他地方都没必要用
二维数组
以上的都是用一维数组实现的,下面的用二维数组写;要简化也能简化到17行以内900char以内(比20行的那个短就是了),不过没有必要
带注释的1100char
|
七彩的(主要是比较好看)1100char
|
以上是关于13行js写贪吃蛇游戏的主要内容,如果未能解决你的问题,请参考以下文章