# 微信2048
## 效果图
![](https://github.com/windlany/2048/blob/master/img/index.png)
![](https://github.com/windlany/2048/blob/master/img/exp1.png)
![](https://github.com/windlany/2048/blob/master/img/exp2.png)
## 算法
该程序主要难度在用户滑动屏幕时值相同的cell合并
将空格标为0(我代码中是用的""表示空格),假设棋盘如下:
- 0 2 0 2
- 0 0 0 0
- 0 0 0 2
- 0 0 0 0
### 步骤
- 通过touch相关的事件函数确定用户滑动方向
- 将棋盘的数字生成4*4的二维数组list
- 根据用户滑动方向生成四个小数组,比如用户将上面的棋盘向右滑动,则四个数组为:
> 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
>- 将item[0]的所有0移到末尾变为2200,遍历item将相同的下标值相加,后面的数置为0
>- 2020 ---> 2200 ---> 4200 ----> 4000
- 如法炮制就可以实现滑动时合并
微信小游戏2048源码
需积分: 0 154 浏览量
更新于2024-03-15
收藏 317KB ZIP 举报
微信小游戏2048源码
该程序主要难度在用户滑动屏幕时值相同的cell合并 将空格标为0(我代码中是用的""表示空格),假设棋盘如下:
0 2 0 2
0 0 0 0
0 0 0 2
0 0 0 0
步骤
通过touch相关的事件函数确定用户滑动方向
将棋盘的数字生成4*4的二维数组list
根据用户滑动方向生成四个小数组,比如用户将上面的棋盘向右滑动,则四个数组为:
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
将item[0]的所有0移到末尾变为2200,遍历item将相同的下标值相加,后面的数置为0
2020 ---> 2200 ---> 4200 ----> 4000
如法炮制就可以实现滑动时合并
pineux
- 粉丝: 483
- 资源: 47
最新资源
- php电子商务网站-毕业设计.rar
- PHP基于Web的subversion用户管理系统(源代码+论文).rar
- PHP教材管理系统设计(源代码+论文).rar
- PHP基于Linux的远程管理系统客户端的实现(源代码+论文).rar
- php进销存管理系统-毕业设计.rar
- 基于Matlab Simulink的风储联合调频系统研究:风电等容量替换下的三机九节点模型与储能优化控制策略,Matlab simulink 风储联合,风储调频,实际系统,三机九节点,风电等容量替同步
- PHP课程网站络管理系统(源代码+论文).rar
- POI读取嵌入、非嵌入图片后并存储
- 熵权法与TOPSIS方法的融合:四合一代码详解与运用,详细注释,一键运行适用于Matlab,熵权法+topsis 代码 topsis 熵权法 一个代码可以四用,熵权法 topsis 基于熵权法修正的
- 基于MATLAB的双馈风力发电系统双PWM变换器的协调控制策略研究
- 基于 DeepSeek 实现文本摘要生成的 Python 源码
- php酒店预订管理系统-毕业设计pc.rar
- PHP网络数据包分析工具的设计与开发(源代码+论文).rar
- PHP校园二手信息网站的设计与开发(源代码+论文).rar
- 学习笔记-沁恒第一讲-米醋
- MATLAB萤火虫扰动改进麻雀搜索算法SSA:优化位置更新提高搜索性能,MATLAB基于萤火虫改进的麻雀搜索算法SSA 该改进主要是在麻雀搜索后,利用萤火虫扰动对麻雀进行萤火虫扰动,将所有麻雀与最优麻