【问题标题】:random generation of levels using 2D arrays Python使用 2D 数组 Python 随机生成关卡
【发布时间】:2022-01-20 08:29:06
【问题描述】:

我想使用二维数组随机生成关卡。 0 = 空旷,1 = 墙壁,如何生成从起点到终点(黄色圆圈,出现在地图上的随机空闲点)位置的可通行路线的关卡?

pole = [[0] * 20 for i in range(20)]
for i in range(20):
    for j in range(20):
        pole[i][j] = random.randint(0, 1)

目前它只是将 1 和 0 随机化,结果如下:

【问题讨论】:

  • “如何使空虚(0)不被墙(1)完全覆盖”的要求不明确。我猜你想生成从起点到终点有可通行路线的关卡?
  • @vaizki 是的,我就是这个意思
  • @MichaelSzczesny 不,我不需要迷宫,我想要很多相互连接的方式
  • @Ilya - 我想要很多方式相互连接:这听起来很像迷宫。

标签: python arrays


【解决方案1】:

最好的方法是生成一个随机地图,就像你现在做的那样,他们用算法检查是否在起点和终点之间有一条开放的路线。如果没有,只需生成一个新地图并再次检查。

一种“洪水填充”算法,您可以从头开始填充并查看填充是否到达终点。算法帮助见:

Need help implementing flood-fill algorithm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多