diff --git a/triple-dungeon/config.py b/triple-dungeon/config.py index 3ea935d..623eb5a 100644 --- a/triple-dungeon/config.py +++ b/triple-dungeon/config.py @@ -28,14 +28,14 @@ class Config(object): # Constants used to scale our sprites from their original size CHARACTER_SCALING = 1 - TILE_SCALING = 1 + TILE_SCALING = 2 TILE_SIZE = TILE_WIDTH * TILE_SCALING # The number of pixels across the level LEVEL_SIZE = 10 * TILE_SCALING * TILE_WIDTH # Movement speed of player, in pixels per frame - PLAYER_MOVEMENT_SPEED = 7 + PLAYER_MOVEMENT_SPEED = 14 # How many pixels to keep as a minimum margin between the characters and the edge of the screen. LEFT_VIEWPORT_MARGIN = 250 diff --git a/triple-dungeon/main.py b/triple-dungeon/main.py index 15fdd8d..fe6496e 100644 --- a/triple-dungeon/main.py +++ b/triple-dungeon/main.py @@ -186,6 +186,10 @@ class Game(arcade.Window): """ Called whenever the mouse is clicked. """ + + for mob in self.enemy_list: + mob.center_x, mob.center_y = random.choice(self.dungeon.levelList).center() + # Create a bullet TEMP SPRITE, currently wielding frog slingshot bullet = Temp() # Position the bullet at the player's current location @@ -259,6 +263,8 @@ class Game(arcade.Window): self.view_bottom, Config.SCREEN_HEIGHT + self.view_bottom) + self.enemy_list.update() + # Projectile updates self.bullet_list.update() for bullet in self.bullet_list: diff --git a/triple-dungeon/mobs.py b/triple-dungeon/mobs.py index 8a309b0..62c9206 100644 --- a/triple-dungeon/mobs.py +++ b/triple-dungeon/mobs.py @@ -44,22 +44,25 @@ class Mob(arcade.Sprite): """ A on_update function, the Mob should decide it's next actions here. """ - pos, next = self.nearestPosition(), path[0] + curpos, nextpos = self.nearestPosition(), path[1] + print(curpos, nextpos) - if next[0] > pos[0]: - self.change_x = Config.PLAYER_MOVEMENT_SPEED - elif next[0] < pos[0]: - self.change_x = -Config.PLAYER_MOVEMENT_SPEED + if nextpos[0] > curpos[0]: + self.change_x = Config.PLAYER_MOVEMENT_SPEED - 3 + elif nextpos[0] < curpos[0]: + self.change_x = -Config.PLAYER_MOVEMENT_SPEED + 3 else: self.change_x = 0 - if next[1] > pos[1]: - self.change_y = Config.PLAYER_MOVEMENT_SPEED - elif next[1] < pos[1]: - self.change_y = Config.PLAYER_MOVEMENT_SPEED + if nextpos[1] > curpos[1]: + self.change_y = Config.PLAYER_MOVEMENT_SPEED - 3 + elif nextpos[1] < curpos[1]: + self.change_y = -Config.PLAYER_MOVEMENT_SPEED + 3 else: self.change_y = 0 + print(self.change_x, self.change_y) + def get_path(self, end: Tuple[int, int] = None) -> List[Tuple[int, int]]: """ Returns the path to get to the Mob's target in absolute integer positions.