diff --git a/squirrelbattle/mapgeneration/broguelike.py b/squirrelbattle/mapgeneration/broguelike.py index 38d462f..65eb337 100644 --- a/squirrelbattle/mapgeneration/broguelike.py +++ b/squirrelbattle/mapgeneration/broguelike.py @@ -205,4 +205,11 @@ class Generator: # post-processing self.place_walls(level) + # place an exit ladder + y, x = randint(0, height - 1), randint(0, width - 1) + while level[y][x] != Tile.FLOOR or \ + sum([t.can_walk() for t in Map.neighbourhood(level, y, x, large=True)]) < 5: + y, x = randint(0, height - 1), randint(0, width - 1) + level[sy][sx] = Tile.LADDER + return Map(width, height, level, sy, sx)