1. 游戏规则
- 用键盘上下左右键控制数字走向
- 当点击了一个方向时,格子中的数字会全部往那个方向移动,直到不能再移动,如果有相同的数字则会合并
- 当格子内的最大数字达到2048时获胜
- 当格子中不再有可移动和可合并的数字时,游戏结束
2. 数据结构
主要是用一个4*4的二维数组来保存游戏当前的状态。
3. 主要的函数
因为游戏中主要是上下左右的移动和合并,所以整个实现过程主要还是要完成上下左右的移动操作。所以程序中使用了up(),down(),left(),right()四个函数来实现上下左右的移动和合并操作。每个函数的实现大致分为两步:
- 根据用户的操作,向上,下,左或右移动数据,
- 移动数据后看看是否达到合并的要求,如果达到了则执行合并操作,否则不执行任何操作。
4.程序实现的流程
step1: 初始化界面,整个棋盘只有一个随即生成的数
step2: 捕捉用户输入的按钮
step3: 根据用户输入的按钮做出移动和合并的操作
step4: 判断第三步中是否执行了合并操作,如果是,则在空白区域随机产生一个数,否则空操作。
step5: 判断游戏是否结束,没有结束则跳到第三步。
5.源码
1 | <html> |