话说,年仅19岁的帅气小伙子Gabriele Cirulli于2014年3月完成并发布在github上,游戏设计来自于《1024》,而《1024》灵感来源于《Threes!》的移动端游戏。然而游戏飙升的人气超乎他的想象,人们忘记了Flappy Bird,2048成了 网络上“最上瘾的东西”。
我是完全为了熟悉Cocos2d-x3.x版本,才写这个游戏的。这个游戏的玩法如下:
该游戏使用方向键让方块上下左右移动。如果两个带有相同数字的方块在移动中碰撞,则它们会合并为一个方块,且所带数字变为两者之和。每次移动时,会有一个值为2或者4的新方块出现。当值为2048的方块出现时,游戏即胜利。
游戏难度在于移动加合并的操作,其实也不难了,只是我觉得写的不优雅。要是不用lambda,那会更加难看。其他功能实现起来都没啥说的。当然还有很多地方是可以完善的。
最后我还给这个游戏写了个AI,理论上可以达到很高的成功率。当时是晚上8点测试的,跑到晚上12点,平均一局需要移动1000次,如果每0.5秒一次,500秒一局,即一局需要大概8分钟。因为有出现的不仅仅是2,还可能是4,而且失败时肯定不需要这么多时间,不管怎样,测的结果不是很好。我想主要是因为效率不高吧,计算量较大,其次是跟电脑配置有关系了,毕竟每一步的时间间隔不能太久,测试时间不够长也是个原因。这个留个以后改进吧。
************************全民2048上线啦*************************
源码地址:https://github.com/booirror/game-2048
APK下载:http://apk.hiapk.com/appinfo/com.uboxsoft.puzzle/2
注:
1. 有多名网友反映,移动或合并后位置错误。我电脑上很正常,根据网友的反映,貌似移动结束后坐标变成0,0了,这问题终于解决了,是cocos版本导致的。我用的是3.3版本,最新版由于底层函数做了修改,从而出现了这个问题。代码稍后我会更新到github上(6月8号之前)。对此,我很感谢其中一位网友,名字就不说了,不确定他是否愿意透露名字。
2. 适配问题。这个我承认是代码没写好,使用FIXED_WIDTH并修改相应坐标可以达到满意效果。
3. 想编译出Android版的同学,需要自己修改Android.mk文件。
——如果本文对您有帮助的话,那就小额打赏1元以资鼓励呗——
——不攒钱娶媳妇的程序员不是好男人——
(完)
原文链接:https://www.f2er.com/cocos2dx/343145.html