From e639ad62553a37f4b93f90bf5afa37f44057340b Mon Sep 17 00:00:00 2001 From: Charles Peyrat Date: Sun, 10 Jan 2021 21:48:12 +0100 Subject: [PATCH] Getting to full cover, and minor fix to bug that allowed corridors to create loops in a room, resulting in implacability --- squirrelbattle/mapgeneration/broguelike.py | 2 +- squirrelbattle/tests/mapgeneration_test.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/squirrelbattle/mapgeneration/broguelike.py b/squirrelbattle/mapgeneration/broguelike.py index 9d5bfaa..d5be37f 100644 --- a/squirrelbattle/mapgeneration/broguelike.py +++ b/squirrelbattle/mapgeneration/broguelike.py @@ -152,7 +152,7 @@ class Generator: if 0 <= ny < rh and 0 <= nx < rw \ and room[ny][nx] != Tile.EMPTY: return False - for i in range(length): + for i in range(length+1): if room[y + i * dy][x + i * dx] != Tile.EMPTY: return False for i in range(length): diff --git a/squirrelbattle/tests/mapgeneration_test.py b/squirrelbattle/tests/mapgeneration_test.py index 07ed05d..5ee4eb3 100644 --- a/squirrelbattle/tests/mapgeneration_test.py +++ b/squirrelbattle/tests/mapgeneration_test.py @@ -37,6 +37,10 @@ class TestBroguelike(unittest.TestCase): queue += Map.neighbourhood(grid, y, x) return not any([t.can_walk() for row in grid for t in row]) + def test_build_doors(self): + m = self.stom(". .\n. .\n. .\n") + self.assertFalse(self.generator.build_door(m.tiles, 1, 1, 0, 1, 2)) + def test_connexity(self) -> None: m = self.generator.run() self.assertTrue(self.is_connex(m.tiles))