diff --git a/resources/graphics/moat/moat_corner_ne.png b/resources/graphics/moat/moat_corner_north_flip.png similarity index 100% rename from resources/graphics/moat/moat_corner_ne.png rename to resources/graphics/moat/moat_corner_north_flip.png diff --git a/resources/graphics/moat/moat_corner_se.png b/resources/graphics/moat/moat_corner_south_flip.png similarity index 100% rename from resources/graphics/moat/moat_corner_se.png rename to resources/graphics/moat/moat_corner_south_flip.png diff --git a/robotgame/boulder.py b/robotgame/boulder.py index 80b4e9d..6cff2d3 100644 --- a/robotgame/boulder.py +++ b/robotgame/boulder.py @@ -28,6 +28,7 @@ import pygame import worldobject import block +import player class Boulder(worldobject.WorldObject): def __init__(self, level, x, y, direction=(1, 0), @@ -40,6 +41,8 @@ class Boulder(worldobject.WorldObject): self.frame = 0 self.anim_speed = 60 + self.ignore_list.append(player.Player) + def activate(self, setting): self.rolling = True diff --git a/robotgame/level1.py b/robotgame/level1.py index 46f26ed..d040128 100644 --- a/robotgame/level1.py +++ b/robotgame/level1.py @@ -273,6 +273,8 @@ class Level1(level.Level): moat_list = ['moat_corner_north', 'moat_corner_south', + 'moat_corner_north_flip', + 'moat_corner_south_flip', 'moat_end_horizontal', 'moat_horizontal', 'moat_vertical'] @@ -281,10 +283,6 @@ class Level1(level.Level): self.graphics_dir, 'moat', '%s.png' % moat)) # Special treatment - self.imgs['moat_corner_north_flip'] = pygame.transform.flip( - self.imgs['moat_corner_north'], 1, 0) - self.imgs['moat_corner_south_flip'] = pygame.transform.flip( - self.imgs['moat_corner_south'], 1, 0) self.imgs['moat_end_horizontal_flip'] = pygame.transform.flip( self.imgs['moat_end_horizontal'], 1, 0) diff --git a/robotgame/player.py b/robotgame/player.py index bd97c5d..a0e9271 100644 --- a/robotgame/player.py +++ b/robotgame/player.py @@ -29,6 +29,7 @@ import re import os import worldobject +import boulder class Player(worldobject.WorldObject): def __init__(self, level, x, y, z=1, movable=True): @@ -41,6 +42,8 @@ class Player(worldobject.WorldObject): self.frame = 0 self.anim_speed = 15 + self.ignore_list.append(boulder.Boulder) + self.load() def load(self): diff --git a/robotgame/worldobject.py b/robotgame/worldobject.py index d9e3cc2..cc178ff 100644 --- a/robotgame/worldobject.py +++ b/robotgame/worldobject.py @@ -41,6 +41,8 @@ class WorldObject(object): self.holding = None self.holder = None + self.ignore_list = [] + self.is_currently_opaque = True if hasattr(self, 'img'): @@ -73,7 +75,8 @@ class WorldObject(object): if (obj.x == self.x + move_x * self.tile_x and obj.y == self.y + move_y * self.tile_y and obj is not self and obj is not self.holder - and obj is not self.holding and obj.blocking): + and obj is not self.holding and obj.blocking + and type(obj) not in self.ignore_list): return False return True return False