Less buggy Kivy 1.7 hackery
[erdslangetjie.git] / erdslangetjie / player.py
index b6b4abf1866bfb668811180e452df988aae89079..841b5097b0f938121059b55625e3bf255bc9918a 100644 (file)
@@ -1,6 +1,5 @@
 # Player and Player-like objects
-
-from erdslangetjie.data import load_image
+from erdslangetjie.data import load_image, load_sound
 
 
 class GameSprite(object):
@@ -39,12 +38,14 @@ class ThePlayer(FigureSprite):
 
 class Nemesis(FigureSprite):
 
-    def __init__(self):
+    def __init__(self, config):
         super(Nemesis, self).__init__()
         self.sprite = load_image('sprites/nemesis.png')
         self.reset_pos()
+        self._config = config
         self._deadends = set([])
         self._been = {}
+        self._bend = load_sound('sounds/bend.ogg')
 
     def move(self, level, player_pos):
         if not self.on_board():
@@ -62,6 +63,8 @@ class Nemesis(FigureSprite):
         for cand in neighbours:
             if level.is_gate(cand) and level.blocked(cand):
                 level.damage_gate(cand)
+                if self._config.getdefault('bane', 'sound', '0') != '0':
+                    self._bend.play()
                 return
         # check for dead-ends
         if self._in_dead_end(level):
@@ -86,7 +89,7 @@ class Nemesis(FigureSprite):
             self.pos = best_pos
 
     def reset_pos(self):
-        self.pos = (-10, 0)
+        self.pos = (-7, 0)
         self._deadends = set([])
         self._been = {}