From 8d7e26438101da2db5f2b4cc8f9e5e0a86f13f6c Mon Sep 17 00:00:00 2001 From: Charles Peyrat Date: Fri, 8 Jan 2021 15:06:38 +0100 Subject: [PATCH] Fix a bug where the generator could crash by trying to place the starting room out of bounds; starting room position is now random --- squirrelbattle/mapgeneration/broguelike.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/squirrelbattle/mapgeneration/broguelike.py b/squirrelbattle/mapgeneration/broguelike.py index 44a5716..02fc736 100644 --- a/squirrelbattle/mapgeneration/broguelike.py +++ b/squirrelbattle/mapgeneration/broguelike.py @@ -159,7 +159,9 @@ class Generator: # the starting room must have no corridor mem, self.params["corridor_chance"] = self.params["corridor_chance"], 0 starting_room, _, _, _, _ = self.create_random_room() - self.place_room(level, height//2, width//2, starting_room, 0, 0) + dim_v, dim_h = len(starting_room), len(starting_room[0]) + pos_y, pos_x = randint(0, height-dim_v-1), randint(0, width-dim_h-1) + self.place_room(level, pos_y, pos_x, starting_room, 0, 0) level[0][0] = Tile.EMPTY self.params["corridor_chance"] = mem