def test_straight_horizontal(self): """ Test that straight horizontal corridor can be made """ edge_connection = Connection(connection=None, location=(10, 5), direction="left", section=self.section) room_connection = Connection(connection=None, location=(5, 5), direction="right", section=self.section) add_section_connection(self.section, edge_connection) add_room_connection(self.section, (5, 5), "right") generator = CorridorGenerator(start_point=edge_connection, end_point=room_connection, wall_tile=None, floor_tile=self.floor_rock) generator.generate() for x_loc in range(5, 11): assert_that(floor_tile(self.level, (x_loc, 5)), is_(equal_to(self.floor_rock)))
def test_straight_vertical(self): """ Test that straight vertical corridor can be made """ edge_connection = Connection(connection=None, location=(5, 0), direction="down", section=self.section) room_connection = Connection(connection=None, location=(5, 5), direction="up", section=self.section) add_section_connection(self.section, edge_connection) add_room_connection(self.section, (5, 5), "up") generator = CorridorGenerator(start_point=edge_connection, end_point=room_connection, wall_tile=None, floor_tile=self.floor_rock) generator.generate() for y_loc in range(0, 6): assert_that(floor_tile(self.level, (5, y_loc)), is_(equal_to(self.floor_rock)))
def test_bent_vertical(self): """ Test that horizontal corridor with bend can be made """ edge_connection = Connection(connection=None, location=(9, 0), direction="down", section=self.section) room_connection = Connection(connection=None, location=(2, 9), direction="up", section=self.section) add_section_connection(self.section, edge_connection) add_room_connection(self.section, (2, 9), "up") generator = CorridorGenerator(start_point=edge_connection, end_point=room_connection, wall_tile=None, floor_tile=self.floor_rock) generator.generate() assert_that(wall_tile(self.level, (9, 0)), is_(equal_to(None))) assert_that(wall_tile(self.level, (2, 9)), is_(equal_to(None))) assert_that(self.level, is_fully_accessible())
def test_straight_vertical(self): """ Test that straight vertical corridor can be made """ edge_connection = Connection(connection = None, location = (5, 0), direction = "down", section = self.section) room_connection = Connection(connection = None, location = (5, 5), direction = "up", section = self.section) self.section.connections.append(edge_connection) self.section.room_connections.append(room_connection) generator = CorridorGenerator(start_point = edge_connection, end_point = room_connection, tile = self.wall_empty) generator.generate() for y_loc in range(0, 6): assert_that(self.level.get_tile(5, y_loc), is_(equal_to(self.floor_rock)))
def test_straight_horizontal(self): """ Test that straight horizontal corridor can be made """ edge_connection = Connection(connection = None, location = (10, 5), direction = "left", section = self.section) room_connection = Connection(connection = None, location = (5, 5), direction = "right", section = self.section) self.section.connections.append(edge_connection) self.section.room_connections.append(room_connection) generator = CorridorGenerator(start_point = edge_connection, end_point = room_connection, tile = self.wall_empty) generator.generate() for x_loc in range(5, 11): assert_that(self.level.get_tile(x_loc, 5), is_(equal_to(self.floor_rock)))
def test_bent_vertical(self): """ Test that horizontal corridor with bend can be made """ edge_connection = Connection(connection = None, location = (9, 0), direction = "down", section = self.section) room_connection = Connection(connection = None, location = (2, 9), direction = "up", section = self.section) self.section.connections.append(edge_connection) self.section.room_connections.append(room_connection) generator = CorridorGenerator(start_point = edge_connection, end_point = room_connection, tile = self.wall_empty) generator.generate() assert_that(self.level.get_wall_tile(9, 0), is_(equal_to(self.wall_empty))) assert_that(self.level.get_wall_tile(2, 9), is_(equal_to(self.wall_empty))) assert_that(self.level, is_fully_accessible_via(self.wall_empty))
def add_corridors(self, section): """ Add corridors leading from room connection to section connections :param section: section to add corridors :type section: Section """ for section_connection in section.connections: room_connection = self.find_room_connection(section, section_connection) corridor = CorridorGenerator(room_connection, section_connection.translate_to_section(), self.empty_tile) corridor.generate()
def add_corridors(self, section): """ Add corridors leading from room connection to section connections :param section: section to add corridors :type section: Section """ for section_connection in section_connections(section): room_connection = match_section_to_room(section, section_connection) corridor = CorridorGenerator( room_connection, section_connection.translate_to_section(), self.empty_tile, self.corridor_tile) corridor.generate()