一个jQuery版的扫雷程序

这两天比较闲,所以抽空写了个jQuery版的扫雷程序。这个程序以前上学时同学写过,好像用的是C++语言。

所谓jQuery版,好像也没什么地方用到了它,在算法上跟它没有什么关系,只是拿来沾光而已,不过在用的过程中,倒是学到几个新的选择器用法。

在计算每个格子周围雷的个数上,倒是有点麻烦。一开始我是循环每个格子,然后计算周围的雷的个数,结果就是浏览器崩溃,性能太差了。中午吃饭的时候想到另外的一种方法:在生成雷的时候,将雷周边的格子里雷数加一,这样性能马上在可容忍范围内了。

 在点空的格子(周边雷数为0)这个算法上,着实搞了很久,浏览器总假死。后来才发现,原来我的算法里面有问题,造成了很多地方不断重复,难怪会假死。思路理清了再下手,还是非常重要的。理清思路比后期调试,真是物美价廉的东西。

不足之处:

  1. 点空的格子的时候,速度还是很慢,无法跟上Windows版的挖雷速度。 看来这个地方还是算法不够快,有待改进。
  2. 没有实现右键效果和左右键同时落下的效果。
  3. 没有实现扫雷级别扩展。
  4. JS代码很多地方不够精简,有很多地方存在性能问题。
代码在附件中:扫雷
posted @ 2009-03-27 11:02  _龙猫  阅读(403)  评论(0编辑  收藏  举报