在Python中为棋盘游戏创建二维网格

0 投票
1 回答
7614 浏览
提问于 2025-04-16 17:37

我正在参加一个计算机科学的入门课程,使用Python编程。我们有一个练习要做一个棋盘游戏(叫dogems)。我在构建棋盘时遇到了一些问题。这个程序应该接受一个参数,然后用一个叫做make_board(size)的函数来构建一个行列相等的棋盘,底部有数字,侧面有字母。接着,另一个函数show_board(board)会把棋盘显示出来。

比如,棋盘大小为4时,会显示:

a . . .
b . . .
c . . .
. 1 2 3

而如果棋盘大小为5,则会显示:

a . . . .
b . . . .
c . . . .
d . . . .
. 1 2 3 4

我的问题是,我该如何编写这些函数来构建这样的棋盘呢?

1 个回答

8

先从一些简单的事情开始,比如只打印出最底下的一行:

. 1 2 3 4 5

这很简单。

print '.', '1', '2', '3', '4', '5'

那如果我想要一个可变大小的棋盘呢?

我们来试试用循环。

for i in range(length+1):
    if i == 0:
        print '.'
    else:
        print i

注意,你需要一个可变的长度。

那么列呢?这些是字母,我们怎么才能打印出一个可变长度的字母列表呢?

当你一个一个解决这些小问题时,你会开始意识到哪些变量是重要的。也许你会决定用一个列表的列表来存储数据,所以 make_board(size) 会返回一个字符的列表的列表,而 show_board(board) 则使用一个嵌套的循环来打印出所有内容。

不要指望从StackOverflow上得到完整的解决方案,试着自己做一些这些事情,当你真的卡住的时候再问问题!

撰写回答