Cocos 2048算法

2048合并算法

新手入坑Cocos两周半,这是第二个算法展示和讲解,希望能坚持下去
今天完成2048小游戏核心功能,参考 https://playhop.com/app/210408

最终效果:
Cocos 2048算法_第1张图片
试玩地址:
2048-在线试玩, 由于是本机+内网穿透部署,可能由于我电脑关机导致访问不了。另外如果是电脑访问,请把浏览器宽度调低一些
Cocos 2048算法_第2张图片
算法主要流程:
Cocos 2048算法_第3张图片

一、算法讲解

由于算法与UI高度耦合,这次只能重点讲讲算法思路。

1.1 单次合并棋子

下图中红色表示刚刚放置的棋子,其他有数字的格子表示之前放置的棋子
Cocos 2048算法_第4张图片

  1. 当4落下,在落下位置生成16
  2. 16下方形成空缺
  3. 16下落

1.2 多次合并棋子

Cocos 2048算法_第5张图片

  1. 2落下,合成4
  2. 形成空缺,最上面的4下落
  3. 4下落触发合并,合并成8
  4. 8继续合并

1.3 当前需要合并的棋子

1. 刚刚放置的棋子: 例如1.1图中红色4方块
2. 合并后的棋子: 合并后生成的新的棋子,需要再次合并
3. 松动后的棋子: 例如1.2中最上方的4,它因为其他棋子的合并发生了位移。需要合并

1.4 一个近乎完整的合并示例

Cocos 2048算法_第6张图片


你可能感兴趣的:(算法,游戏程序)