【发布时间】:2018-10-02 02:47:25
【问题描述】:
我正在尝试使用 python 中的列表制作扫雷游戏。到目前为止我有这个代码:
import random as r
import sys
#dimension of board and number of bombs
width = int(sys.argv[1])
height = int(sys.argv[2])
b = int(sys.argv[3])
#creates the board
board = [[0.0] * width] * height
#places bombs
for i in range(b):
x = r.randint(0, width - 1)
y = r.randint(0, height - 1)
board.insert(x, y, 0.1)
#prints board
for i in range(len(board)):
for j in range(len(board[i]))
print(board[i][j], end=" ")
我试图将炸弹放置在板上的随机位置,但insert() 只接受 2 个参数。有没有其他方法可以做到这一点?
我有一个想法,在第 1 行放置一个随机炸弹,然后在第 2 行放置一个随机炸弹,依此类推,一旦它击中第 n 行,它就会循环回到第 1 行,直到放置了足够的炸弹,但我不确定它是否会起作用(而且我无法测试它,因为我也知道如何做到这一点)。我觉得这个解决方案效率很低,所以我也想知道是否有更有效的方法来做到这一点。
【问题讨论】:
标签: python list 2d minesweeper