Mercurial > scrounge
changeset 42:635af8abf7d1
make some monsters start asleep
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Tue, 23 Aug 2011 22:04:50 +0200 |
| parents | a07bb1dabe9a |
| children | 84989d4aba4e |
| files | hero.py main.py |
| diffstat | 2 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hero.py Tue Aug 23 21:50:34 2011 +0200 +++ b/hero.py Tue Aug 23 22:04:50 2011 +0200 @@ -88,12 +88,22 @@ self.x, self.y = x, y self.effects = [] self.sprite = HeroSprite() - self.hp = 10 + self.max_hp = 10 + self.hp = self.max_hp + self.regen = 10 + self.regen_tick = 0 def render(self, to_display): to_display.sprites.add(self.sprite) to_display.sprites.add(thing.ShadowSprite(self.sprite)) + def tick(self): + self.regen_tick += 1 + if self.regen_tick > self.regen: + if self.hp < self.max_hp: + self.hp += 1 + self.regen_tick = 0 + def enter(self, level, x, y): self.x = x self.y = y @@ -130,6 +140,7 @@ def hit(self, damage): self.hp -= damage + self.regen_tick = 0 self.effects.append( effect.Caption(self.x, self.y, '%d' % (-damage), (255, 32, 32)))
--- a/main.py Tue Aug 23 21:50:34 2011 +0200 +++ b/main.py Tue Aug 23 22:04:50 2011 +0200 @@ -35,7 +35,6 @@ if self.level.map[self.hero.y][self.hero.x] == '>': self.hero.exit(self.level) return - self.health.change('HP %d/10' % self.hero.hp) pressed = self.display.get_pressed() if pygame.locals.K_UP in pressed: self.hero.walk(self.level, 0, -1) @@ -50,6 +49,8 @@ self.hero.walk(self.level, 1, 0) end_turn = True if end_turn: + self.hero.tick() + self.health.change('HP %d/10' % self.hero.hp) monsters = self.level.monsters.values() for m in monsters: if m.dead:
