Original code (redundancies replaced with ...):
def generate_map():
base = seed_biome_spread()
num_rows = len(base)
num_cols = len(base[0])
hex_offset = 0
tile_num_x = 0
tile_num_y = 0
y_offset = 0
x_offset = 0
temp_surface = pygame.Surface((num_cols * 24 + 12, num_rows * 18 + 8))
temp_surface.fill((0, 0, 0))
tile_clr = (0, 0, 0)
for r in range(num_rows):
for c in range(num_cols):
tile_type = base[r][c]
if tile_type == "W":
...
elif tile_type == "HD":
tile_clr = (203, 214, 186)
tile = [(0 + x_offset, 6 + y_offset),
(0 + x_offset, 18 + y_offset),
(12 + x_offset, 24 + y_offset),
(24 + x_offset, 18 + y_offset),
(24 + x_offset, 6 + y_offset),
(12 + x_offset, 0 + y_offset)]
pygame.draw.polygon(temp_surface, tile_clr, tile, 0)
pygame.draw.polygon(temp_surface, (0, 0, 0), tile, 1)
x_offset = x_offset + 24
tile_num_x = tile_num_x + 1
y_offset = y_offset + 18
tile_num_x = 0
tile_num_y = tile_num_y + 1
x_offset = 0
if hex_offset == 0:
hex_offset = 1
x_offset = x_offset + 12
elif hex_offset == 1:
hex_offset = 0
temp_surface.set_colorkey((0, 0, 0))
return temp_surface, base
Adding mountains = mountain_seed() after base = seed_biome_spread() messes up the generation even though the mountains variable is not being used and they share no variables.