如何在 Python 上创建游戏板

How to create a game board on Python

我想在 Python 中重新制作第十五场比赛,但我一直坚持绘制二维棋盘。我以前在 C 中做过这个,我尝试再次使用列表,如下所示:

numbers = d * d - 1
global blankx, blanky, board
blankx = d - 1
blanky = d - 1

for i in range(d):
    for j in range(d):
        board[i][j] = numbers
        numbers -= 1
board[blankx][blanky] = d * d

其中d是尺寸,blankx和y是右下角空白space的坐标。但是它说: 'list index out of range' 线路板[i][j] = 数字 我不明白为什么,有什么建议吗?

board = [[i*d + j + 1 for i in range(d)] for j in range(d)]
board[blankx][blanky] = d * d

在 Python 中,访问 list 的索引不会自动将 list 扩展到所需的最小长度。您将不得不初始化一个空板,或者一起创建和填充它。我建议 list 理解:

board = [[d*d-1-i-d*j for i in range(d)] for j in range(d)]

这等效于以下显式循环,它向每个 listappend() 添加新项目:

board = []
for i in range(d):
    row = []
    for j in range(d):
        row.append(d*d-1-i-d*j)
    board.append(row)