博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏
阅读量:5122 次
发布时间:2019-06-13

本文共 628 字,大约阅读时间需要 2 分钟。

  早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下(主要是以注释的形式)。

  

  我用C写一个功能基本齐全的俄罗斯方块的话,大约需要1000行代码的样子。所以60行乍一看还是很让人吃惊的。

  但是读懂了代码之后发现其实整个程序并没有使用什么神秘的技术,只不过是利用一些工具或者JavaScript本身的技巧大大简化了代码。

  总结起来主要是以下三点

  1.使用eval来产生JavaScript代码,减小了代码体积

  2.以字符串作为游戏场景数据,使用正则表达式做查找和匹配,省去了通常应当手动编写的查找验证代码
  3.以二进制方式管理俄罗斯方块数据和场景数据,通过位运算简化比较和验证
  

  另外,原作者代码换行很少,代码写的比较紧凑,这也是导致这个程序仅仅只有60行的一个原因。

  下面给出经过我排版注释后的代码。

 

1     2   3       4         俄罗斯方块  5       6       7         8         
17
18 19 246 247

 

  下面给出原作者代码,60行

 

1  2 
3

 

转载于:https://www.cnblogs.com/jimaojin/p/5413857.html

你可能感兴趣的文章
C#数组的合并拆分
查看>>
NFA和DFA的区别
查看>>
[转帖]什么是α射线、β射线、γ射线
查看>>
[转帖]Docker 清理占用的磁盘空间
查看>>
三羊献瑞(暴力破解)
查看>>
vmware创建虚拟机并安装centos7系统
查看>>
解决WCF接口无法传递object参数的问题
查看>>
ubuntu软件(查看文件差异)
查看>>
UEditor1.2.6.0在.net环境下使用
查看>>
POJ 2288 Islands and Bridges(状压dp)
查看>>
好文推荐系列--------(3)GruntJS 在线重载 提升生产率至新境界
查看>>
$(document).ready()和window.onload之间的差异
查看>>
学习笔记day5:inline inline-block block区别
查看>>
交易系统高并发下的幂等性设计原则
查看>>
UESTC_秋实大哥下棋 2015 UESTC Training for Data Structures<Problem I>
查看>>
数据库事务
查看>>
Linux中常用命令(文件与目录)
查看>>
python变量和字符串
查看>>
主键生成
查看>>
Foundry feats. MultiverseStudio
查看>>