arctic-masher/mapgen.py
2023-05-17 05:09:48 -07:00

43 lines
1.5 KiB
Python

import random
from constants import *
from player import *
from blocks import *
from enemies import *
def generateMap(gameMap, players):
for i in range(300):
try:
spot = [random.randint(0, tileCountx - 1), random.randint(0, tileCounty - 1)]
if gameMap[spot[0]][spot[1]]:
raise Exception("spot taken!")
gameMap[spot[0]][spot[1]] = Block(spot[0], spot[1], gameMap)
except Exception as error:
continue
for i in range(50):
for j in range(50):
try:
spot = [random.randint(0, tileCountx - 1), random.randint(0, tileCounty - 1)]
if gameMap[spot[0]][spot[1]]:
raise Exception("spot taken!")
gameMap[spot[0]][spot[1]] = Enemy(spot[0], spot[1], gameMap)
break
except Exception as error:
continue
for player in players:
maxTries = 5
for i in range(maxTries):
if i == maxTries - 1:
raise Exception("No spots found for player!")
try:
spot = [random.randint(0, tileCountx - 1), random.randint(0, tileCounty - 1)]
if gameMap[spot[0]][spot[1]]:
raise Exception("spot taken!")
gameMap[spot[0]][spot[1]] = player
player.x = spot[0]
player.y = spot[1]
break
except Exception as error:
continue