用jQuery写了个扫雷

学了这么久JavaScript,上周终于开始学习jQuery了,把《锋利的jQuery》敲了一遍,基本的jQuery语法大概也掌握了,为了巩固一下,就用jQuery写了个扫雷。

说到这个扫雷,写完之后觉得其实挺简单的,只要把当中的逻辑都理清楚了,就没啥大问题了。

先上个demo : https://tagea886.github.io/mine/mine.html

源码 : https://github.com/tagea886/tagea886.github.io/tree/master/mine

界面需求:

  级别、重新开始、计时、雷数、雷区

初始化:

  布雷、计时

开始时:左键:点开格子;

    右键: 已开格子:自动开格子;
        未开格子:第一次:插旗;第二次:问号;第三次:复原;
    插旗子时:雷数-1 ; 问号:雷数复原;
结束条件:1、点到雷

      2、旗子数 + 剩余格子数 = 总雷数;

结束后:停止计时、输出结果(输赢)、禁止再开雷等;

 

明确了这些之后,我觉得写起来就挺好写了。

 

记录一下写这个的坑吧。。

我自己写的时候以鼠标左右键为对象来写,这样写我觉得比较容易出错的地方是:右键自动开格子格子的时候会调用左键的函数,这个时候左键就要加上判断该格是否有旗子,而且旗子下面是否是雷。而且这种写法会有一些代码是重复的。如果把对象换成是格子的话,感觉会简洁一点,不过因为懒,我就先不重写了嘻嘻~等到学一点后端的时候,帮这个扫雷加上注册、排行榜等功能的时候再试着重写一遍吧~

第二个就是加定时器的问题。加定时器一定要加在初始化(status = 1)的时候,加在其他地方很容易会同时开几个定时器。然后初始化之前要清空定时器。

 

其他就感觉没啥大问题了,至少逻辑上没啥问题。。不过代码还是写的很啰嗦,还有很大的优化空间啊。。

 

posted @ 2016-12-07 15:34  踏歌阿  阅读(737)  评论(0)    收藏  举报