【发布时间】:2014-11-08 06:30:07
【问题描述】:
我一直在尝试用 Python 制作一个基于终端的扫雷克隆。这是我生成雷区的函数:
BOMB = '#' # The symbol for the bomb
def generateField(width, height, bombs):
field = [[0] * height] * width # Make the empty array grid
for bomb in range(0, bombs):
x, y = random.randint(0, width - 1), random.randint(0, height - 1)
print((x, y)) # For debugging, remove later
field[x][y] = BOMB #
return field
还没有完成。 但是,当我为宽度为 12、高度为 12、宽度为 12 的炸弹调用 generateField(12, 12, 12) 时,它给了我这样的信息:
[
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#'],
[0, '#', 0, 0, 0, '#', '#', '#', 0, '#', '#', '#']
]
有人能给我解释一下发生了什么,或者出了什么问题吗?
【问题讨论】: