查看: 2673|回复: 3

微信小程序游戏,2048

[复制链接]
发表于 2021-3-24 14:59:01 | 显示全部楼层 |阅读模式
index.png

exp1.png

exp2.png


算法

该程序主要难度在用户滑动屏幕时值相同的cell合并 将空格标为0(我代码中是用的""表示空格),假设棋盘如下:

0 2 0 2

0 0 0 0

0 0 0 2

0 0 0 0

步骤

通过touch相关的事件函数确定用户滑动方向

将棋盘的数字生成4*4的二维数组list

根据用户滑动方向生成四个小数组,比如用户将上面的棋盘向右滑动,则四个数组为:

  1. item[0] = [2, 0, 2, 0]; item[1] = [0, 0, 0, 0]; item[2] = [2, 0, 0, 0]; // 注意是2000而不是0002,因为是向右滑动要从右边开始 item[3] = [0, 0, 0, 0];
复制代码

接下来就是滑动时合并,拿item[0]举例,如果是2020,向右滑动我们应该成为0004

  1. <p>将item[0]的所有0移到末尾变为2200,遍历item将相同的下标值相加,后面的数置为0</p><p>2020 ---> 2200 ---> 4200 ----> 4000</p>
复制代码

如法炮制就可以实现滑动时合并

下载:

游客,如果您要下载源码或者查看隐藏内容请回复


回复

使用道具 举报

发表于 2021-3-24 17:24:38 | 显示全部楼层
回复顶帖,多谢分享
回复 支持 反对

使用道具 举报

发表于 2021-3-26 20:50:33 | 显示全部楼层
2048一个经典的游戏,下载源码学习一下。感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

网站推荐上一条 /1 下一条



快速回复 返回顶部 返回列表