Merge branch 'master' into No_movement_mode
[naja.git] / naja / player.py
index ff253da35ea3113216240649fa4dfe8a0dbf5dab..f502b640ffd94ddd999022931425e77248794141 100644 (file)
@@ -91,3 +91,17 @@ class Player(object):
             self.position = new_position
             return True
         return False
+
+    def set_position(self, new_position):
+        if new_position in self.legal_moves():
+            self.position = new_position
+            return True
+        return False
+
+    def legal_moves(self):
+        positions = [self.position]
+        for direction in [BITS.NORTH, BITS.SOUTH, BITS.EAST, BITS.WEST]:
+            position = self.get_adjacent_position(direction)
+            if position is not None and self.bits.check_bit(direction):
+                positions.append(position)
+        return positions