博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Q2D】 2048设计
阅读量:5260 次
发布时间:2019-06-14

本文共 361 字,大约阅读时间需要 1 分钟。

主要组件

1: GameDirector ,负责胜利、失败、载入上次成绩等

2: Grid, 表格类,负责管理tile二维数组

3: Tile 元素类,就是界面上移动的砖块了

4: InputHelper ,将用户的输入上下左右,转化为对Grid里面的Tile下标的操作

上 x:0  y:-1

下    0      1

左   -1      0

右    1      0

遍历Grid的每个Tile,

while循环,对Tile下标持续操作,直到遇到占用的Tile或者遇到表格的边界

比如 用户向下操作,移动了 A, 遇到了 B

如果两个元素的值一样,并且当前方向输入操作没有合并过

则将播放A移动到B的动画,A的值*=2,移除B

更新Grid、Tile数组列表。

 

 

转载于:https://www.cnblogs.com/kimmy/p/3745557.html

你可能感兴趣的文章
HTTP状态码
查看>>
P1-15:集成日志组件 logback 4日志数据库
查看>>
Xml二(解析思想)、
查看>>
网易2017内推笔试题 合唱团
查看>>
研究生期间做项目所学到的一些经验
查看>>
仿真灯泡 电灯泡 灯光 光环闪烁 流星雨
查看>>
配置Nginx的防盗链
查看>>
Webpack 多html入口、devServer、热更新配置
查看>>
mongoDB(1)
查看>>
26岁,你看着身边的人都结了婚
查看>>
NumPy
查看>>
Tips on C/C++
查看>>
BZOJ.5417.[NOI2018]你的名字(后缀自动机 线段树合并)
查看>>
BZOJ.4320.[ShangHai2006]Homework(根号分治 分块)
查看>>
css3实现圆环进度条
查看>>
Linux Shell函数定义与调用
查看>>
spark streaming方法
查看>>
随机生成想要的字符串位数
查看>>
Vue: ----父子组件的交流(互相传值和访问)
查看>>
封装原生ajax
查看>>