예제 #1
0
	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
예제 #2
0
    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