Aftormath_alduin
Aftormath_alduin

Reputation: 35

Making a randomly generated 2d map in python is taking too long to process all of the map generation

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])

I'm not getting anything for output not even an error code.I'm trying to create a randomly generated game map of descent size but when i went to run it nothing happened i'm thinking since my computer isn't that great its just taking way to long to process but i just wanted to post it on here to double check. If that is the issue is there a way to lessen the load without lessening the map size?

Upvotes: 1

Views: 248

Answers (1)

Christos Papoulas
Christos Papoulas

Reputation: 2578

You have the following bugs:

  • Inside the map_create you must change x + 1 to x += 1. For this reason your script runs for ever.
  • After that you should change the while x <= len(map): to while x < len(map):. If you keep the previous, you will get a Index Error.

In any case, your code can be further improved. Please try to read some pages of the tutorial first.

Upvotes: 1

Related Questions