处理移动,有很多需要判断
首先应该确定你怎么移动板子上的那些格子?每次移动移动全部?没法做到吧,整体的移动也就是你写个函数看样子是整体移动还是一个一个的循环遍历去移动每个格子(QGrid)
移动到什么时候才算好?Qt可不知道,你得告诉它,是不是得判断是不是下标越界?是不是得判断它左侧或者其他侧有没有格子,这个格子是空?还是有数?
进一步说 每个格子停止移动的条件是不一样的比如这个格子本身就是个空格子,就是没内容,你不需要在移动的时候去处理格子的碰撞
要不是空格子,你要判断它的左侧(当且仅当左移的时候哦)QGrid(格子)的值不是是和当前正在移动的格子相同如果相同就合并,这又出现了分叉路,你是等都移动结束了再进行判断和并还是先判断合并?合并后的值保存在他们两个的哪个格子?
你是不是得计分了?
在移动的时候是不是还有格子可以移动(假如游戏快结束了,都满了)?
仔细想想 不仅暗自说了句 我 giao!
我,,还是先上分去吧。。。太难了
(仔细想想要是你你怎么处理这些东西,需要创建哪些类?)
day9里的代码希望你认真看了,我们画好了板子,也能画格子,但是由于上面说的各种因素的考虑,板子需要有板子的属性(移动,是不是还可以移动,板子上的格子),格子也有格子的属性(当前的值,是不是不需要处理碰撞),这些需要再新建