在python中制作随机生成的2D地图需要很长时间来处理所有地图生成


import random
l =  "lava"
d = "dessert"
f = "forest"
v = "village"
s = "sect"
w = "water"
c = "city"
m = "mountains"
p = "plains"
t = "swamp"
map_list = [l,d,f,v,s,w,c,m,p,t]
map = []
for i in range(50):
    map.append([])
def rdm_map(x):
    for i in range(50):
        map[x].append(random.choice(map_list))
def map_create():
    x = 0
    while x <= len(map):
        rdm_map(x)
        x + 1
map_create()
print(map[2][1])

我没有得到任何输出,甚至没有错误代码。我正在尝试创建一个随机生成的下降大小的游戏地图,但是当我去运行它时,什么也没发生,我在想,因为我的电脑不是那么好,它只是需要很长时间来处理,但我只是想把它发布在这里仔细检查。如果这是问题所在,有没有办法在不减小地图大小的情况下减轻负载?

您有以下错误:

  • 在map_create内,您必须将x + 1更改为 x += 1 .因此,您的脚本将永远运行。
  • 之后,您应该将while x <= len(map):更改为 while x < len(map): .如果你保留上一个,你会得到一个Index Error.

无论如何,您的代码都可以进一步改进。请先尝试阅读教程的某些页面。

最新更新