def _fill_rooms(M, nodes): """ Fill map with rooms given from leaf nodes of BSP-tree. """ for node in nodes: for y in range(node.room_y1, node.room_y2): for x in range(node.room_x1, node.room_x2): M[x, y] = C.floor()
def _create_corridors(M, nodes, edges): """ Create corridors between rooms that should be connected. """ for edge in edges: n1 = nodes[edge[0]] n2 = nodes[edge[1]] if max(n1.room_x1, n2.room_x1) < min(n1.room_x2, n2.room_x2): x = random.randint(max(n1.room_x1, n2.room_x1), min(n1.room_x2, n2.room_x2)) for y in range(min(n2.room_y2, n1.room_y1), max(n2.room_y2, n1.room_y1)): M[x, y] = C.floor() elif max(n1.room_y1, n2.room_y1) < min(n1.room_y2, n2.room_y2): y = random.randint(max(n1.room_y1, n2.room_y1), min(n1.room_y2, n2.room_y2)) for x in range(min(n2.room_x2, n1.room_x1), max(n2.room_x2, n1.room_x1)): M[x, y] = C.floor()