def __init__(self, configuration): """Initialise the builder""" super(EvolutionBased, self).__init__(configuration) # # Find the rooms self.rooms = {} for room_configuration in configuration.find("rooms").findall("room"): room = Room( common.getStrAttr(room_configuration, "name"), common.getStrAttr(room_configuration, "type"), [line.strip() for line in room_configuration.text.strip().splitlines()], ) self.rooms[room.name] = room # # Get properties self.initial_pool_size = common.getInt(configuration, "initialPoolSize") self.tournament_size = common.getInt(configuration, "tournamentSize") self.max_iterations = common.getInt(configuration, "maxIterations") # # Tuning parameters RoomController.target_num_rooms = common.getFloat(configuration, "targetRooms") RoomController.missed_corridor_penalty = common.getFloat(configuration, "missedCorridorPenalty") RoomController.corridor_to_room_penalty = common.getFloat(configuration, "corridorToRoomPenalty") RoomController.exit_longest_path_multiplier = common.getFloat(configuration, "exitLongestPath") RoomController.missed_door_penalty = common.getFloat(configuration, "missedDoorPenalty") # RoomController.target_room_types["event"] = common.getFloat(configuration, "numEventRooms") RoomController.target_room_types["treasure"] = common.getFloat(configuration, "numTreasureRooms") RoomController.target_room_types["corridor"] = common.getFloat(configuration, "numCorridors")
def __init__(self, configuration): """Initialise the renderer""" super(PygameRenderer, self).__init__(configuration) # self.cell_width = common.getInt(configuration, 'cellWidth') self.cell_height = common.getInt(configuration, 'cellHeight') self.surface = None
def __init__(self, configuration): """Initialise the builder""" super(PortCreator, self).__init__(configuration) # # Basic properties of the port self.coast_per_port = common.getInt(configuration, 'averageCoastLinePerPort') self.island_must_have_port = common.getTrue(configuration, 'islandMustHavePort') self.min_port_separation = common.getInt(configuration, 'minimumPortSeparation') self.port_location_attempts = common.getInt(configuration, 'portLocationAttempts', 5) self.max_name_length = common.getInt(configuration, 'maxPortNameLength', 9) # # Resource properties properties = configuration.findall('resources/resourceProperties/*') root = configuration.find('resources/resourceProperties') self.property_ranges = dict( (element.tag, common.getFloatTuple(root, element.tag)) for element in properties ) # self.name_generator = serge.blocks.textgenerator.MarkovNameGenerator( serge.blocks.textgenerator.EUROPE ) # # Resource types self.resource_types = [ common.getStrAttr(element, 'name') for element in configuration.findall('resources/resourceTypes/resource') ]
def __init__(self, configuration): """Initialise the builder""" super(FillTagBuilder, self).__init__(configuration) # self.tag_name = common.getString(configuration, 'attributeName') self.tag_value = common.getString(configuration, 'attributeValue') self.world_width = common.getInt(configuration, 'worldWidth', 0) self.world_height = common.getInt(configuration, 'worldHeight', 0)
def __init__(self, configuration): """Initialise the builder""" super(RockSubstrate, self).__init__(configuration) # self.mean_height = common.getInt(configuration, 'meanHeight') self.push_energy = common.getInt(configuration, 'pushEnergy') self.drop_off = common.getInt(configuration, 'dropOff') self.number_pushes = common.getInt(configuration, 'numberPushes') self.push_pull_probability = common.getFloat(configuration, 'pushPullProbability')
def __init__(self, configuration): """Initialise the builder""" super(RandomRoomPlacer, self).__init__(configuration) # self.number_rooms = common.getInt(configuration, 'numberOfRooms') self.wall_width = common.getInt(configuration, 'wallWidth') self.max_room_tries = common.getInt(configuration, 'maxRoomTries') # self.rooms = [] for room in configuration.find('rooms').findall('room'): self.rooms.append(Room(room))
def __init__(self, configuration): """Initialise the renderer""" super(HeightRenderer, self).__init__(configuration) # self.base_height = common.getInt(configuration, 'baseHeight') self.auto_scale = common.getInt(configuration, 'autoScale') if not self.auto_scale: self.max_height = common.getInt(configuration, 'maxHeight') self.min_height = common.getInt(configuration, 'minHeight') self.lower_colour = common.getTuple(configuration, 'lowerColour') self.higher_colour = common.getTuple(configuration, 'higherColour')
def __init__(self, configuration): """Initialise the builder""" super(BomberProcedural, self).__init__(configuration) # # Get properties self.symmetry = common.getString(configuration, "symmetry").lower().strip() self.width = common.getInt(configuration, "width") self.height = common.getInt(configuration, "height") self.blocks_between = common.getInt(configuration, "blocksBetweenEnemies") self.destructible_blocks = common.getInt(configuration, "destructibleBlocks") self.keep_clear_distance = common.getInt(configuration, "keepClearDistance") self.maze_like = common.getTrue(configuration, "makeLike")
def __init__(self, configuration): """Initialise the builder""" super(BomberEvolution, self).__init__(configuration) # # Get properties self.initial_pool_size = common.getInt(configuration, "initialPoolSize") self.tournament_size = common.getInt(configuration, "tournamentSize") self.max_iterations = common.getInt(configuration, "maxIterations") self.width = common.getInt(configuration, "width") self.height = common.getInt(configuration, "height") # self.percent_space = common.getFloat(configuration, "targetPercentSpace") self.percent_space_multiplier = common.getFloat(configuration, "percentSpaceMultiplier") self.target_blocks = common.getFloat(configuration, "targetBlocks") self.target_blocks_multiplier = common.getFloat(configuration, "targetBlocksMultiplier")
def __init__(self, configuration): """Initialise the builder""" super(MazeBuilder, self).__init__(configuration) # self.tag_name = common.getString(configuration, 'attributeName') self.wall = common.getString(configuration, 'wallValue') self.floor = common.getString(configuration, 'floorValue') self.door = common.getString(configuration, 'doorValue') self.entrances = common.getInt(configuration, 'numberEntrances')
def __init__(self, configuration): """Initialise the builder""" super(IslandFinder, self).__init__(configuration) # self.sea_tags = common.getString(configuration, 'seaTags') self.smallest_island = common.getInt(configuration, 'smallestIsland')
def __init__(self, configuration): """Initialse the builder""" super(TunnelBuilder, self).__init__(configuration) # self.tunnel_optimiser_iterations = common.getInt( configuration, 'tunnelOptimiserIterations')
def __init__(self, configuration): """Initialse the builder""" super(TunnelBuilder, self).__init__(configuration) # self.tunnel_optimiser_iterations = common.getInt(configuration, 'tunnelOptimiserIterations')