請問我對Python
有點新,它一直很好,我可以評論說Python是非常性感的,直到我需要移動我想用於構建2048遊戲的4x4矩陣的內容遊戲的試玩here我有這個功能Python:理由NumPy數組
def cover_left(matrix):
new=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
for i in range(4):
count=0
for j in range(4):
if mat[i][j]!=0:
new[i][count]=mat[i][j]
count+=1
return new
這是此功能對,如果你這樣稱呼它
cover_left([
[1,0,2,0],
[3,0,4,0],
[5,0,6,0],
[0,7,0,8]
])
它將覆蓋零到左側,併產生
[ [1, 2, 0, 0],
[3, 4, 0, 0],
[5, 6, 0, 0],
[7, 8, 0, 0]]
請我需要有人幫我做這個,我相信會更快,需要更少的代碼的numpy
方式(我使用的深度優先搜索算法中),更重要的cover_up
實施,cover_down
和
`cover_left`.
`cover_up`
[ [1, 7, 2, 8],
[3, 0, 4, 0],
[5, 0, 6, 0],
[0, 0, 0, 0]]
`cover_down`
[ [0, 0, 0, 0],
[1, 0, 2, 0],
[3, 0, 4, 0],
[5, 7, 6, 8]]
`cover_right`
[ [0, 0, 1, 2],
[0, 0, 3, 4],
[0, 0, 5, 6],
[0, 0, 7, 8]]
在此先感謝。
這與['other post']基本相同(https://stackoverflow.com/a/4455 9180/3293881),除了你有四個條件語句。這裏有什麼新東西? – Divakar
簽名是不同的,而且他修改了他的答案......它不是像 –
之前那樣的簽名?一個輸入參數有四個輸入選項,所以有四個條件語句。另一篇文章對兩個輸入參數有兩個輸入選項。基本上是一樣的。 – Divakar