图 1 Python版控制台2048运行截图
程序代码加上注释大概150行左右,利用了一些Python内置数据类型的操作节省了不少代码量。下面说说我的编写思路,最后会给出源代码。...接下来是计算部分,以向左移动为例,4*4矩阵在接收到向左移动的指令后,应该将每行的数字向左叠加, 将一行的叠加操作定义为函数 handle(list, direction),其第一个参数用来存储4*4矩阵中的某一行...for row in matrix:
handle(row, direction)
对于上下移动方向键时,由于矩阵是按行存储的,不能直接处理矩阵中的列,可以通过变通采用上面的函数...(x, 'left') 后 x = [4, 2, 0, 0]
在 align(x, 'right') 后 x = [0, 0, 4, 2]
(2) addSame(row, direction) 查找相同且相邻的数字...else:
vList[:0] = zeros
def addSame(vList, direction):
'''在列表查找相同且相邻的数字相加