2048 核心算法
核心:去零操作,相邻相同则合并,
向左移动:从左向右依次取出每行数据
向右移动:从右向左依次取出每行数据
向上移动:方阵转置后向左移动再转置
向下移动:方阵转置后向右移动再转置
list_merge = [2,0,2,0]
将0元素移动到列的末尾
def zero_to_end():
"""
把list_merge中的0元素移动到末尾,其他元素相对位置不变
"""
for i in range(len(list_merge) - 1, -1, -1):
if list_merge[i] == 0:
list_merge.append(0)
del list_merge[i]
将相同元素向左合并
def merge_same_element