所以我有一些代码可以在2048游戏中上移数字板:
data = [0, 2, 4, 8, 0, 2, 8, 0, 0, 0, 0, 2, 4, 2, 2, 0]
def drawBoard(): # Making the board into a 2d array
count = 0
for i in range(16):
print(data[i], end = ' ')
count += 1
if count == 4:
print("")
count = 0
print(drawBoard())
for col in range(4): #Loop to shift numbers up
count = 0
for row in range(4): # read loop
if data[row*4+col] != 0:
data[count*4+col] = data[row*4+col]
count += 1
for row in range(count, 4):
data[row*4+col] = 0
print(drawBoard())
这基本上会获取数据,将其放入4 x 4的面板中,并将所有非零数字向上移动。
非班次董事会:
2 2 4 8
0 2 8 0
0 0 0 2
4 2 2 0
移动板:
2 2 4 8
4 2 8 2
0 2 2 0
0 0 0 0
有没有一种方法可以使用与我所说的“循环向上移动数字”并使之向上移动为左移功能的格式相同的格式?
因此,向左移动的木板看起来像:
2 2 4 8
2 8 0 0
2 0 0 0
4 2 2 0
答案 0 :(得分:0)
我建议您旋转行/列引用,并且代码将相同。想象一下,您逆时针旋转网格,使第一列为最后一行,第一行为第一列