2048小游戏开发过程以及感想
以前我就是一个忠实的2048粉丝,曾一度沉迷于其中,然而最好的战绩却也是止步于两个4096,这让我羞愧不已。
今日,我利用了一些空些时间,整理了一下思路,创作了这个小游戏,虽然功能不是很完善,但是麻雀虽小五脏俱全。
一开始我便确定了整体的界面:分为4*4方格,然后定义每个方格(UIView)中的属性:用于显示数字的UILabel和一个自定义的NSObject对象State(里面就一个BOOL值用于确定方格 是否有值)。
然后创建三类数组,一类是整体数组,存放所有的方格。还有一类就是方向数组,存放每个方向的方格,方便手势的响应。最后一类,就是用来临时取值赋值的临时数组。
整理好思路后,我便开始了动手,创建类,封装函数,模块化处理。把老师上课的内容进行融会贯通,身体力行的去理解并掌握。
视图创建完毕后,我碰到第一个BUG,数组没有值,我冥思苦想,反复检查代码,发现,我没有初始化数组。- -!
解决掉这个拦路虎之后,我开始写逻辑判断。添加手势识别,对每个手势进行不同的处理。
1 移除临时数组中所有元素
2 循环取出方向数组中的元素
3 执行对应的手势方向平移操作
4 判断是否可以相加
5 修改BOOL值
6 调用随机函数 随机产生数字(只在没有数字的方格产生)
到这,我发现了第二个问题,state值 始终为空 我也不知为何,于是我删除了这个属性,直接在方格类中添加了一个BOOL变量来判断
然后,果不出其然,成功了。
虽然这是一个很简单的小程序,但是,这对我的逻辑能力和时间能力是一个很大的提升,同时也让我看到了自己的不足和缺点。
砥砺前行,风不会停歇。