Mercurial > mhrok
changeset 45:2411c4d61692
Make bears slow
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sat, 10 Mar 2012 16:08:08 +0100 |
| parents | 9651a7ba696f |
| children | e52060a30e29 |
| files | mhrok/mhrok.png mhrok/mobs.py |
| diffstat | 2 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mhrok/mobs.py Sat Mar 10 15:35:15 2012 +0100 +++ b/mhrok/mobs.py Sat Mar 10 16:08:08 2012 +0100 @@ -76,6 +76,22 @@ name = 'teddybear' animation = [30, 30, 30, 31, 31, 31, 30, 30, 30, 32, 32, 32] + def __init__(self, *args, **kwargs): + super(Teddybear, self).__init__(*args, **kwargs) + self.resting = random.choice([True, False]) + + def control(self, level): + self.resting = not self.resting + if self.resting: + return + x, y = self.pos + possible = [d for (d, (dx, dy)) in enumerate(zip(DX, DY)) + if level[x + dx, y + dy]] + direction = min(possible, key=lambda d: dist(level.pc.pos, (x+DX[d], y+DY[d]))) + try: + level.walk(self, direction) + except level.Blocked: + pass class Player(object): name = 'player'
