当我们按下任意键时,单元格的元素会沿该方向移动,这样,如果该特定行(向左或向右移动的情况下)或列(向上和向下移动的情况下)包含任何两个相同的数字,它们就会得到加起来,该方向的极端单元用该数字填充自身,其余单元再次变空...因此,为了单独理解其背后的逻辑,我们可以假设上面的网格是一个 4*4 矩阵(具有四行四列的列表)。您可以在下面看到上述游戏在没有 GUI 的情况下进行输入和输出的方法。..., 0, 2]
按命令:d
游戏尚未结束
[0,0,0,0]
[0,0,0,0]
[2, 0, 0, 2]
[0,0,0,4]
按命令:a
游戏尚未结束
[0,2,0,0]
[0,0,0,0]
[4,0,0,0...可以通过转置然后向左移动来完成向上移动。
向下移动可以通过右移转置来完成。
程序中的所有逻辑都在注释中详细解释了。强烈建议仔细阅读所有评论。...2
add_new_2(mat)
return mat
# 在任意空单元格中添加新的2的函数网格
def add_new_2(mat):
# 为行和列选择一个随机索引。