2048游戏逻辑(3)---bug修复
2017-08-25 本文已影响0人
普通不平庸
上节降到了上下左右移动,如果你仔细的话就会发线问题当同一行从左到右,如图时候就会出现问题,左移动的话,原版的结果是第二行是 4 4 8 0,而上面代码产生的左移动结果就是16 0 0 0 ,,(前面图片的代码已经修复了,这里讲解一下原因)
某种特殊效果var hasConflictedArr= newArray(); 增加一个数组用来判断当前格格是否已经产生过叠加,初始化时候不仅仅要把board数组初始化,同时要把hasConflictedArr数组化4*4,每一个格格中的位子的值均为false.
初始化每次更新视图时候也要改变这个冲突数组的值
每次更新改为false左右移动中,如果这两个相同也要做处理(以左移动为例子)
左移动处理为false并且相加处理时改为true至此,解决了多次叠加的问题,与原版是一致的