▓▓▓▓▓▓ 大致介绍

  看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了,但是自己实现起来会遇到各种问题。比如,在最后判断游戏是否结束的时候,我写的语句语法是对的,但就是不执行。最后通过对视频源码的分析对比,发现原作者写的一个setTimeout定时器有额外的意思,本来我以为它就是简单的一个延时动画,其实他是在等待另外一个函数执行完毕。-_-||。最后还是很高兴能写出来,也改进了一些源代码的不足。

  jQuery在这个游戏中的应用并不多,如果对其中的jQuery语法有疑问,可以参考我写的jQuery学习之路(持续更新),里面有讲解

  预览:2048网页版

  这篇博客并不是详细的讲解,只是大致介绍函数的作用,其中实现的细节注释中有解释,网上的这个源码有点乱,如果想看比较整齐的源码或者视频的可以QQ联系我(免费)(找共同学习的伙伴)

 

 

▓▓▓▓▓▓ 思路

  这个小游戏可以抽象化分为3层(我觉得这样能更好理解)

    ◆最底下的一层是基本的样式(可见的)

    ◆中间的层是最主要的,是一个4x4的二维数组,游戏中我们都是对这个二维数组进行操作(不可见的)

    ◆最上面的一层也是一个4x4的二维数组,它只是根据第二层数组的每个数显示样式(可见的)

  我们通过最底下的一层显示最基本的16个小方格,通过键盘的按键或者手指在屏幕的滑动来操作中间层的数组,最后在通过最上面的一层显示出数字

 

▓▓▓▓▓▓ 基本结构与样式

  基本的结构和样式都挺简单,直接看代码

  结构:

 1 <div id="test2048">
 2         <div id="header">
 3             <h1>2048</h1>
 4             <a href="javascript:newgame()" >开始新的游戏</a>
 5             <p>分数:<span id="score">0</span></p>
 6         </div>
 7         <div id="container">
 8             <div class="cell" id="cell-0-0"></div>
 9             <div class="cell" id="cell-0-1"></div>
10             <div class="cell" id="cell-0-2"></div>
11             <div class="cell" id="cell-0-3"></div>
12             <div class="cell" id="cell-1-0"></div>
13             <div class="cell" id="cell-1-1"></div>
14             <div class="cell" id="cell-1-2"></div>
15             <div class="cell" id="cell-1-3"></div>
16             <div class="cell" id="cell-2-0"></div>
17             <div class="cell" id="cell-2-1"></div>
18             <div class="cell" id="cell-2-2"></div>
19             <div class="cell" id="cell-2-3"></div>
20             <div class="cell" id="cell-3-0"></div>
21             <div class="cell" id="cell-3-1"></div>
22             <div class="cell" id="cell-3-2"></div>
23             <div class="cell" id="cell-3-3"></div>
24         </div>
25     </div>
View Code

相关文章: