时间顺序:
- 【初始填满地图】
- 【触发交换】
【初始填满地图】
- 地图板子上是否为null
- 是null,随机一个⚪【增加一个⚪】
【增加一个⚪】
- 有带初始偏移值
- 这个内容即将到达的板子位置,如果到达后是否会出现(三连)
- 如果会出现(三连),重新随机一个⚪,直到不再出现三连。
【触发交换】协程A
- 让选择的两个内容进行【交换动画和数据更改】(协程B)。
- 找到交换后内容是否会出(三连),如果没有,就反向【交换动画和数据更改】(协程B)回来。
- 如果会出,则先等待协程B完毕。然后利用所有三连的列表,开启【清除三连内容并且重新填补地图】协程C。
【清除三连内容并且重新填补地图】协程C
- 开启【删除三连内容并顺势下落】协程D
- 开启【重新填满地图】协程E
- 在协程C的过程中,如果重新填满地图后,检测又出现了三连内容,则重复9和10内容,直到没有出现新的。
【删除三连内容并顺势下落】协程D
- 删除。
- 【顺势下落】。
- 检查所有的掉了都已经完成。
- 检查顺势下落过程中是否出现了三连内容,出现的话,重新调用【删除三连内容并顺势下落】协程D
【重新填满地图】协程E
- 【初始填满地图】
后续:
【顺势下落】部分之后更新。