Enemies appear
[koperkapel.git] / koperkapel / gamelib / level.py
index bcc319a2886d2f5e530d30ff70be6f7f50478a09..3df9fe03598dc598db85666491d342370c7b2eee 100644 (file)
@@ -1,5 +1,7 @@
 """ Class holding the level info """
 
+import random
+
 
 class Level(object):
 
@@ -84,3 +86,30 @@ class Level(object):
 
     def get_exit_level(self):
         return self.exit["next level"]
+
+    def is_on_enemy(self, x, y):
+        for enemy in self.enemies:
+            if (x, y) == enemy.game_pos:
+                return True
+        return False
+
+    def get_enemy(self, x, y):
+        for enemy in self.enemies:
+            if (x, y) == enemy.game_pos:
+                return enemy
+        return None
+
+    def add_enemy(self, enemy, x, y):
+        """Add an enemy to an empty floor space near x, y"""
+        added = False
+        while not added:
+            if self.can_walk(x, y, 'floor'):
+                if not self.is_on_friend(x, y):
+                    if not self.is_on_enemy(x, y):
+                        added = True
+                        enemy.game_pos = (x, y)
+                        self.enemies.append(enemy)
+                        added = True
+            x += random.randint(-1, 1)
+            y += random.randint(-1, 1)
+