这段代码是为了获取八数码问题中,当前空白格可以移动到的位置并返回一个列表。具体来说,这个函数会检查当前的空白格所在位置,然后根据其位置的不同,计算出它可以移动到哪些位置。最后将可以到达的位置存储在 moves
列表中并返回。
以下是代码的分析:
def get_moves(board):
# 在二维数组中找到 blank 空白格的位置。
row, col = find_blank(board)
# 计算出可移动的方向,并将其存储在 moves 列表中。
moves = []
if(row > 0):
moves.append((row - 1, col))
if(row < 2):
moves.append((row + 1, col))
if(col > 0):
moves.append((row, col - 1))
if(col < 2):
moves.append((row, col + 1))
return moves
find_blank(board)
函数的作用是在二维数组中查找空白格的下标。然后,在 if
语句中,我们会检查空白格现在的位置并计算可以移动到哪些格子。若存在上下左右四个方向可移动,则存储在 moves
列表中。最后,返回该列表。
因此,这个函数实现了获取当前空白格可移动的位置。