Mercurial > pavulon
changeset 41:cb099f2e631b
added configurable targets
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sat, 10 Sep 2011 11:33:20 +0200 |
| parents | d0dc54dc8dad |
| children | dbda06fd85f8 |
| files | level01.map qq.py |
| diffstat | 2 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/level01.map Sat Sep 10 11:28:16 2011 +0200 +++ b/level01.map Sat Sep 10 11:33:20 2011 +0200 @@ -28,6 +28,7 @@ tile = 1, 3 sprite = patient.png monster = true +target = h [h] name = bed
--- a/qq.py Sat Sep 10 11:28:16 2011 +0200 +++ b/qq.py Sat Sep 10 11:33:20 2011 +0200 @@ -154,9 +154,10 @@ class Monster(Sprite): is_monster = True - def __init__(self, pos=(1, 1), frames=None): + def __init__(self, pos=(1, 1), frames=None, target=''): Sprite.__init__(self, pos, frames) self.direction = 2 + self.target = target def go(self, level, direction): x, y = self.pos @@ -350,7 +351,8 @@ sprite = Player(pos) self.player = sprite elif tile.get('monster') in ('true', '1', 'yes', 'on'): - sprite = Monster(pos, SPRITE_CACHE[tile["sprite"]]) + sprite = Monster(pos, SPRITE_CACHE[tile["sprite"]], + tile.get('target', '')) self.monsters.append(sprite) else: sprite = Sprite(pos, SPRITE_CACHE[tile["sprite"]]) @@ -425,7 +427,8 @@ # If the player's animation is finished, check for keypresses if self.player.animation is None: for monster in self.monsters: - if self.level.map[monster.pos[1]][monster.pos[0]] != 'h': + if (self.level.map[monster.pos[1]][monster.pos[0]] + not in monster.target): break else: return
