一、简介
2048的游戏规则很简单,每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。
游戏的画面很简单,一开始整体16个方格大部分都是灰色的,当玩家拼图出现数字之后就会改变颜色,整体格调很是简单。在玩法规则也非常的简单,一开始方格内会出现2或者4等这两个小数字,玩家只需要上下左右其中一个方向来移动出现的数字,所有的数字就会向滑动的方向靠拢,而滑出的空白方块就会随机出现一个数字,相同的数字相撞时会叠加靠拢,然后一直这样,不断的叠加最终拼凑出2048这个数字就算成功。
二、主要设计
2048游戏的主要算法就是实现数字的移动和相加,我一开始是想的一个数字有四个相邻的位置,上下左右用列表存储,然后遍历判断,但是真正写的时候发现有很多重复的情况存在,而且位置的存储没有办法确定。
所以最后写了一个只实现相加的函数,然后再分别从四个方向去调用它。具体的就是用一个列表,判断它的长度也就是存储连续的相邻的数字个数,然后判断是否有相邻的元素相等,如果有的话相加,单一的单一存储,累计分数也是在这个函数里实现的。
参考文档和完整的文档和源码下载地址:
https://www.write-bug.com/article/95.html