diff --git a/triple-dungeon/main.py b/triple-dungeon/main.py index 8d80d0a..ec80431 100644 --- a/triple-dungeon/main.py +++ b/triple-dungeon/main.py @@ -8,6 +8,7 @@ import arcade from config import Config from map import Level +from mobs import Player class Game(arcade.Window): @@ -45,15 +46,9 @@ class Game(arcade.Window): # Create the Sprite lists self.wall_list = arcade.SpriteList() self.floor_list = arcade.SpriteList() - self.player_list = arcade.SpriteList() # Set up the player, specifically placing it at these coordinates. - image_source = "resources/images/monsters/skeleton.png" - self.player_sprite = arcade.Sprite(image_source, Config.CHARACTER_SCALING) - self.player_sprite.center_x = Config.SCREEN_WIDTH / 2 - self.player_sprite.center_y = Config.SCREEN_HEIGHT / 2 - self.player_sprite.scale = 4 - self.player_list.append(self.player_sprite) + Player.setup(self) # Create the level self.floor_list, self.wall_list = Level.load_file('resources/levels/box.json') diff --git a/triple-dungeon/mobs.py b/triple-dungeon/mobs.py index 97b7ff7..963a008 100644 --- a/triple-dungeon/mobs.py +++ b/triple-dungeon/mobs.py @@ -33,6 +33,16 @@ class Player(Mob): def __init__(self, *args, **kwargs) -> None: super(Player, self).__init__(*args, **kwargs) + def setup(self): + self.player_list = arcade.SpriteList() + + image_source = "resources/images/monsters/skeleton.png" + self.player_sprite = arcade.Sprite(image_source, Config.CHARACTER_SCALING) + self.player_sprite.center_x = Config.SCREEN_WIDTH / 2 + self.player_sprite.center_y = Config.SCREEN_HEIGHT / 2 + self.player_sprite.scale = 4 + self.player_list.append(self.player_sprite) + def tick(self): """ While Player objects do not have any AI (they are controlled by the user),