def get_encounters(self, text_directory): """ Method for creating a list of encounter objects from a directory of encounter text files. """ encounter_list = [] counter = 0 onlyfiles = [f for f in listdir(text_directory) if f[0] != '.'] for encounter_text in onlyfiles: counter += 1 if counter >= 120 and counter < 200: print(counter) encounter_text = text_directory + '/' + encounter_text new_encounter = Encounter(encounter_text, self.hospital_type, self.range_info) encounter_list += [new_encounter] return encounter_list
def setup(self, x=None, y=None): #sprite list: self.player_list = arcade.SpriteList() self.wall_list = arcade.SpriteList() self.background_list = arcade.SpriteList() #player setup: self.player = Animation.PlayerCharacter() #setup map: map_name = f"maps/{self.map}.tmx" platforms_layer_name = 'walls' my_map = arcade.tilemap.read_tmx(map_name) # Only create the dialogue event list on the first load, reference list on successive map changes if self.first_load_of_game: # Set up Event Class # (Don't recreate Event class on new map load) self.event = Event.Event() self.event.dialogue_events_overworld = arcade.tilemap.process_layer( arcade.tilemap.read_tmx("maps/overworld.tmx"), "Dialogue_Events", TILE_SCALING) self.event.dialogue_events_dollarstore = arcade.tilemap.process_layer( arcade.tilemap.read_tmx("maps/DollarStore.tmx"), "Dialogue_Events", TILE_SCALING) self.event.dialogue_events_malmart = arcade.tilemap.process_layer( arcade.tilemap.read_tmx("maps/MalMart.tmx"), "Dialogue_Events", TILE_SCALING) self.event.dialogue_events_school = arcade.tilemap.process_layer( arcade.tilemap.read_tmx("maps/TheSchool.tmx"), "Dialogue_Events", TILE_SCALING) self.first_load_of_game = False # Only set-up encounters constructor/set-up on initial game load: self.encounter = Encounter.Encounter() self.encounter.setup(self.view_bottom, self.view_left) # Always display finished events self.finished_event = arcade.tilemap.process_layer( arcade.tilemap.read_tmx(map_name), "Finished_Event", TILE_SCALING) if self.map == "overworld": self.building_list = arcade.SpriteList() self.rand_range = 600 if x and y: self.player.center_x = x self.player.center_y = y else: self.player.center_x = 512 self.player.center_y = 5000 # Use the event list for the overworld self.dialogue_events_list = self.event.dialogue_events_overworld self.building_list = arcade.tilemap.process_layer( my_map, "buildings", TILE_SCALING) arcade.set_background_color(arcade.csscolor.BURLYWOOD) else: # Use event list for Dollar Store if self.map == "DollarStore": self.dialogue_events_list = self.event.dialogue_events_dollarstore # Use event list for MalMart elif self.map == "MalMart": self.dialogue_events_list = self.event.dialogue_events_malmart # Use event list for School elif self.map == "TheSchool": self.dialogue_events_list = self.event.dialogue_events_school self.rand_range = 300 self.door_list = arcade.SpriteList() self.player.center_x = 256 self.player.center_y = 2960 self.door_list = arcade.tilemap.process_layer( my_map, "doors", TILE_SCALING) arcade.set_background_color(arcade.csscolor.WHITE) self.player_list.append(self.player) # Set up overlay class self.overlay = Overlay.Overlay() self.overlay.load_media() #Set up Inventory Class self.inventory = Inventory.Inventory() #set up walls self.wall_list = arcade.tilemap.process_layer( map_object=my_map, layer_name=platforms_layer_name, scaling=TILE_SCALING) #set up background objects: self.background_list = arcade.tilemap.process_layer( my_map, "Background", TILE_SCALING) #setup background: if my_map.background_color: arcade.set_background_color(my_map.background_color) self.physics_engine = arcade.PhysicsEngineSimple( self.player, self.wall_list) self.view_bottom = 0 self.view_left = 0