文档章节

2048小游戏开发过程以及感想

 渐行渐远渐无书
发布于 2016/07/24 20:46
字数 590
阅读 21
收藏 0

2048小游戏开发过程以及感想
以前我就是一个忠实的2048粉丝,曾一度沉迷于其中,然而最好的战绩却也是止步于两个4096,这让我羞愧不已。
今日,我利用了一些空些时间,整理了一下思路,创作了这个小游戏,虽然功能不是很完善,但是麻雀虽小五脏俱全。
一开始我便确定了整体的界面:分为4*4方格,然后定义每个方格(UIView)中的属性:用于显示数字的UILabel和一个自定义的NSObject对象State(里面就一个BOOL值用于确定方格 是否有值)。
然后创建三类数组,一类是整体数组,存放所有的方格。还有一类就是方向数组,存放每个方向的方格,方便手势的响应。最后一类,就是用来临时取值赋值的临时数组。
整理好思路后,我便开始了动手,创建类,封装函数,模块化处理。把老师上课的内容进行融会贯通,身体力行的去理解并掌握。
视图创建完毕后,我碰到第一个BUG,数组没有值,我冥思苦想,反复检查代码,发现,我没有初始化数组。- -!
解决掉这个拦路虎之后,我开始写逻辑判断。添加手势识别,对每个手势进行不同的处理。

1 移除临时数组中所有元素
2 循环取出方向数组中的元素
3 执行对应的手势方向平移操作
4 判断是否可以相加
5 修改BOOL值
6 调用随机函数 随机产生数字(只在没有数字的方格产生)

到这,我发现了第二个问题,state值 始终为空 我也不知为何,于是我删除了这个属性,直接在方格类中添加了一个BOOL变量来判断

然后,果不出其然,成功了。
虽然这是一个很简单的小程序,但是,这对我的逻辑能力和时间能力是一个很大的提升,同时也让我看到了自己的不足和缺点。

砥砺前行,风不会停歇。

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 1
码字总数 590
作品 0
娄底
40+ 行 JS 代码打造你的 2048 游戏 AI

2048 游戏是什么? 2048 游戏如下图所示,它由一个 4*4 共 16 个方块组成。玩家可以通过「上下左右」四个方向操纵方块滑动,滑动时两个相邻且数值相同的方块会合并,新的方块,数值为两者之和...

01/11
0
0
纯前端开发小游戏教程

其实很多常见的小游戏都是纯前端开发出来的,比如曾经风靡的2048、别踩白块啊等等,简单有趣,对于初学者来说,这些小游戏是非常不错的练手项目。 实验楼上很多前端教程,这里整理7个前端开发...

实验楼
2017/11/20
0
0
pygame开发2048游戏

背景 最近入手新游戏:《Threes》,2048的前身,难度比2048大,这个游戏的命运比较悲哀,App上架没几天,便被人仿制出与之类似、入手更快的《2048》,2048获得了巨大的成功,无论App store 还...

yancy_
2017/06/21
0
0
2048,成功和我

过去的几周对我而言是一次狂野之旅。在3月份,我为了娱乐开发了一款名叫2048的游戏,在GitHub上作为开源软件发布了。在接下来几周里,它出乎意料地成为世界级的成功,它已经被2千3百万用户玩...

腊八粥
2014/05/08
11.2K
42
Android 带你玩转实现游戏2048 其实2048只是个普通的控件

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40020137,本文出自:【张鸿洋的博客】 1、概述 博主本想踏入游戏开放行业,无奈水太深,不会游泳;于是乎,只能继续开...

lmj623565791
2014/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring IOC 之 注册 BeanDefinition

获取 Document 对象后,会根据该对象和 Resource 资源对象调用 registerBeanDefinitions() 方法,开始注册 BeanDefinitions 首先调用 createBeanDefinitionDocumentReader() 方法实例化 Bean...

职业搬砖20年
18分钟前
1
0
Pycahrm左边出现一些bookmark的取消方法

pycharm 左边出一个对号或则一个0,放上去提示Bookmark 取消方法:按F11

鹏灬
20分钟前
0
0
JDK1.8使用Dubbo时需注意

Dubbo自带的很多包都比较旧了,其中的javassist在JDK1.8上运行会报错 而且错误通常比较诡异,javassist是编辑和创建Java字节码的类库,常见的错误会从spring中报出 解决办法: <dependency>...

火龙战士
23分钟前
1
0
Java 对Oracle数据库中的 BLOB类型 插入图片

package test;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.PrintStream;import java.sql.Connection;import java.sql.DriverManager;......

青峰Jun19er
25分钟前
0
0
awk复习

10月22日任务 复习 awk调用外部变量 -v参数设置内部变量调用外部变量 [root@test awk]# a=44[root@test awk]# echo "ABCD" | awk -v GET_A=$a '{print GET_A}'44 更复杂的应用: [root@...

robertt15
32分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部