练习是在Python中重做游戏突破;这是一款类似草稿的游戏,其中包含 n 行和 p 行。
我使用此功能启动游戏板:
def NewBoard(n,p):
board = [["."] * p for i in range(n)]
for i in range(0, 2):
for j in range(0, p):
board[i][j] = 'o'
for k in range(n - 2, n):
for l in range(0, p):
board[k][l] = 'x'
return board
但这总是重置棋盘,因为这个功能是游戏的初始状态。
当我尝试进行主要游戏功能时,每次玩家改变时,棋盘都会自行重置:
def Breaktrough(n, p):
DisplayBoard(NewBoard(n,p))
DisplayBoard(Where(NewBoard(n, p), 1, *SelectPawn(1)))
DisplayBoard(Where(NewBoard(n, p), 2, *SelectPawn(2)))
我尝试了一些我认为不错的解决方案。
答案 0 :(得分:0)
您需要将板分配给变量,以便随着时间的推移可以引用同一块板,而不是在每次(尝试)移动时重复创建新板。在main函数中,有行
board = NewBoard(n,p)
它不会自动“重置”(除非您再次呼叫NewBoard()
)。在其余代码中,请参阅board
而不是NewBoard(n,p)
。