From 7e14122b8c38793ea6036ceb1bf9028ed0be1a00 Mon Sep 17 00:00:00 2001 From: Charles Peyrat Date: Fri, 8 Jan 2021 17:25:52 +0100 Subject: [PATCH] Randomly place exit ladder --- squirrelbattle/mapgeneration/broguelike.py | 7 +++++++ 1 file changed, 7 insertions(+) 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)