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
Binary file mhrok/mhrok.png has changed
--- 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'