Make AI destory gates
[erdslangetjie.git] / erdslangetjie / player.py
index e0ac771d3af9e046f265cab3efc03525015ab2cb..7c80263243c094b611b432c1ab70053e9510c3be 100644 (file)
@@ -43,9 +43,10 @@ class Nemesis(FigureSprite):
         super(Nemesis, self).__init__()
         self.sprite = load_image('sprites/nemesis.png')
         self.reset_pos()
+        self.deadends = []
         self.been = []
 
-    def move(self, level):
+    def move(self, level, player_pos):
         if not self.on_board():
             # Advance towards the map a step at a time
             self.pos = (self.pos[0] + 1, self.pos[1])
@@ -53,6 +54,15 @@ class Nemesis(FigureSprite):
                 self.pos = level.enter_pos
             return False
         # AI goes here
+        # First, if we're standing next to a gate, we attack it
+        neighbours = [(self.pos[0] + 1, self.pos[1]),
+                (self.pos[0] - 1, self.pos[1]),
+                (self.pos[0], self.pos[1] + 1),
+                (self.pos[0], self.pos[1] - 1)]
+        for cand in neighbours:
+            if level.is_gate(cand) and level.blocked(cand):
+                level.damage_gate(cand)
+                return True
         steps = 0
         self.been.append(self.pos)
         for direction in [(1, 0), (-1, 0), (0, -1), (0, 1)]: