这个问题的核心是模拟整个游戏过程,直到达到稳定状态。我们可以使用一个主循环来不断处理每一轮的消除和下落,直到某一轮没有任何消除发生时,模拟结束。
每一轮模拟包含以下三个关键步骤:
标记阶段
图图在玩一个消消乐的游戏,在这个游戏中使用了一个 H 行 ×5 列单元格的网格,如下图所示。一块刻有数字 (1 ~ 9) 的石头被放置在每个单元格中。当水平相邻的格子中的三个或更多石头上刻有相同的数字时,这些石头就会消失。如果格子里有石头,石头消失了,上面格子里的石头就会掉下来,填补空缺。

游戏采取以下步骤。