根据板上的当前状态,我应该进行哪些更改才能使我的输出 return True of False?
What changes should I make to make my output return True of False based on the current state on the board?
所以我正在尝试创建一个简单的 t2048 版本,所以我试图从 根据当前棋盘 是否可以进行任何移动开始,并且我有一个函数 ispossible(board: Board)
returns 无论这是 True 还是 False
如果你不知道 2048 是什么意思,这就是游戏... https://play2048.co/
我不是要重新创建整个游戏,我只是想制作一个简单的版本。
def ispossible(board: Board)
for i in range(0, board):
for j in range(1, board):
if [i][j - 1] == 0 and [i][j] > 0:
return True
elif ([i][j - 1] == [i][j]) and [i][j - 1] != 0:
return True
return False
但是,这根本不起作用,因为当我将其作为输入
时得到 'Error'
print(ispossible([4,3,2,2],[2,2,8,16], [16,4,4,4], [4,4,4,4]))
我应该更改什么以确保它有效?
正如对问题的评论所说,您应该首先传入一个列表列表作为您的 Board
。您的示例代码的另一个问题是您没有索引到 board
变量。相反,代码正在创建一个大小为 1 的列表,其中 i
作为唯一元素,然后访问第 j-1
个索引。您可能打算做类似 board[i][j - 1]
而不是 [i][j - 1]
的事情。您的其他列表访问也是如此。
所以我正在尝试创建一个简单的 t2048 版本,所以我试图从 根据当前棋盘 是否可以进行任何移动开始,并且我有一个函数 ispossible(board: Board)
returns 无论这是 True 还是 False
如果你不知道 2048 是什么意思,这就是游戏... https://play2048.co/
我不是要重新创建整个游戏,我只是想制作一个简单的版本。
def ispossible(board: Board)
for i in range(0, board):
for j in range(1, board):
if [i][j - 1] == 0 and [i][j] > 0:
return True
elif ([i][j - 1] == [i][j]) and [i][j - 1] != 0:
return True
return False
但是,这根本不起作用,因为当我将其作为输入
时得到 'Error'print(ispossible([4,3,2,2],[2,2,8,16], [16,4,4,4], [4,4,4,4]))
我应该更改什么以确保它有效?
正如对问题的评论所说,您应该首先传入一个列表列表作为您的 Board
。您的示例代码的另一个问题是您没有索引到 board
变量。相反,代码正在创建一个大小为 1 的列表,其中 i
作为唯一元素,然后访问第 j-1
个索引。您可能打算做类似 board[i][j - 1]
而不是 [i][j - 1]
的事情。您的其他列表访问也是如此。