在Python中为棋盘游戏创建二维网格
我正在参加一个计算机科学的入门课程,使用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上得到完整的解决方案,试着自己做一些这些事情,当你真的卡住的时候再问问题!