diff --git a/triple-dungeon/main.py b/triple-dungeon/main.py index 48bc7af..1dcd84f 100644 --- a/triple-dungeon/main.py +++ b/triple-dungeon/main.py @@ -48,14 +48,28 @@ class Game(arcade.Window): self.enemy_list = arcade.SpriteList() - # Set up the player, specifically placing it at these coordinates. - self.player = Player() - self.player.scale = 1 - # Create the dungeon self.dungeon = Dungeon(0, 3) - self.player.center_x, self.player.center_y = random.choice(self.dungeon.levelList).center() + # level = random.choice(self.dungeon.levelList) + level = self.dungeon.levels[1][1] + + # Set up the player, specifically placing it at these coordinates. + x, y = level.center() + self.player = Player(center_x=x, center_y=y) + self.player.scale = 1 + + # Debug statement + print((level.x, level.y), level.center(), (self.player.center_x, self.player.center_y)) + + # Setup viewport + self.view_bottom = x - (0.5 * Config.SCREEN_WIDTH) + self.view_left = y - (0.5 * Config.SCREEN_WIDTH) + arcade.set_viewport(self.view_left, + Config.SCREEN_WIDTH + self.view_left, + self.view_bottom, + Config.SCREEN_HEIGHT + self.view_bottom) + self.player.center_x, self.player.center_y = x, y # Create monsters # This needs to be updated to comply with the new mobs.py code @@ -77,8 +91,9 @@ class Game(arcade.Window): self.enemy_list.draw() self.wall_list.draw() - x, y = self.player.center_x, self.player.center_y + 100 - arcade.draw_text(f"({x}, {y})", x, y, arcade.color.WHITE, 15) + x, y = self.view_left + 50, self.view_bottom + 50 + arcade.draw_text(str((self.player.center_x, self.player.center_y)), x, y, arcade.color.WHITE, 15) + print('Here.') def on_key_press(self, key, modifiers): """Called whenever a key is pressed. """ diff --git a/triple-dungeon/map.py b/triple-dungeon/map.py index 105d0e8..62dd909 100644 --- a/triple-dungeon/map.py +++ b/triple-dungeon/map.py @@ -142,8 +142,6 @@ class Level: level.floorSprites.append(sprite) elif 'wall' in tilePath: level.wallSprites.append(sprite) - else: - print(f'Could not handle Tile: {tilePath}') # Move everything into correct positions level.floorSprites.move(*level.center()) @@ -156,7 +154,7 @@ class Level: Returns the pixel center of the level. :return: A tuple containing the X and Y coordinates of the level's center """ - return self.x * Config.LEVEL_SIZE, self.y * Config.LEVEL_SIZE + return int((self.x + 0.5) * Config.LEVEL_SIZE), int((self.y + 0.5) * Config.LEVEL_SIZE) def rotate_level(self, times_rotated): """