用Swift写个2048


【20140828update】项目现在丢在了Github上面:https://github.com/JoeMartini/2048bySwift ,欢迎围观讨论。之前有提到我自己琢磨了个算法来实现数字的移动、叠加。这个算法的重点在于,按照移动方向的反方向遍历当前行或列中各个格子,因为方向相反,可以把检测、叠加和移动在一次循环中完成。今天把它又优化了一下,现在可以检测空行和空列了,对于空列在第一次遍历之后就会跳过,不会一次次遍历咯。算法示意图大概如下:algorithm

 


屏幕快照 2014-08-26 下午8.29.43屏幕快照 2014-08-26 下午8.30.26屏幕快照 2014-08-26 下午8.30.44

写的腰酸背痛啊,不过终于能完整的搞出来一个App了……

虽然是一个“超低难度”的纯本地App,但是涉及到的事件还是蛮丰富的。虽然网上现在已经有很多Swift语言教程,但是面向开发经验比较少的纯菜鸟的却很少,看起来大神们哗哗哗就写完了,新手们完全看不懂写了些啥。虽然Swift语言本身语法很简洁,但是实际的应用开发不可避免的需要各种复杂的调用、托管,我只捡了看懂了的部分方法使用,所以写得异常繁琐。虽然知道MVC因该把Model、View、Controller分开布置,但是xCode不断报错,各种跨文件调用的奇怪问题(比如谁告我一下为什么viewcontroller里面可以访问model里的字典,但是model不能访问view里的函数呢……),搞得我头晕眼花之后毅然决定把所有model们丢到一个文件里了。

找了很久没有找到中意的wordpress代码插件,决定直接截图丢上来嘿嘿


viewController.swift

2014-08-26_20-15-43

models.swift

2014-08-26_20-15-30

发表评论

邮箱地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.