python - (Python3) 在 python 数组上存储 10x10 游戏地图
问题描述
如何在 2D python3 数组上存储 10x10(100 单位)游戏地图?
这是我当前的代码:
53 worldMap = [[13, 13, 13, 13, 13, 13, 13, 13, 13, 13], [13, 13, 13,
13, 13, 13, 13, 13, 13, 13]]
236 porq = 0
237 genX = 0
238 genY = 0
239
240 #world generator
241 while not 13 in worldMap:
242 porq = porq + 1
243 genIncoming = randint(1, 12)
244 worldMap[genX][genY] = genIncoming
245 genX = genX + 1
246 genY = genY + 1
247 print(worldMap)
正在抛出错误:
“回溯(最近一次调用最后一次):文件“python”,第 244 行,在 IndexError:列表索引超出范围”
解决方案
您需要嵌套的两级 for 循环来遍历地图。您所拥有的仅在地图的对角线上生成块,即您正在为(0,0),(1,1),(2,2),...生成地图,这也解释了索引超出范围错误。
尝试这个
for genX in range(10):
for genY in range(10):
worldMap[genX][genY] = randint(1, 12)
推荐阅读
- pandas - python脚本以交互方式工作,但由于pandas将权限问题作为cron作业而失败
- python - 使用 BeautifulSoup + Python 从列表中获取所有 href 标签和链接
- android - Kotlin Android 11 - getMaxAmplitude()
- android - 在android中使用material.io列表
- flutter - 无法从服务器获取数据
- node.js - 运行 npm start 时出现“index.js not found”,错误!代码 ELIFECYCLE 和 ENOENT
- python - python3.8:无法打开文件'setup.py':[Errno 2]没有这样的文件或目录
- python - 如何使用 txdbus 等待 dbus 信号触发?
- xml - XSLT - 在用于重新组织数据的分组时计算第一个和最后一个位置
- jgrasp - 在 Jgrasp 中丢失了我的工具栏如何找回它?