Ability to move player with location.
[naja.git] / naja / player.py
index 892fa05b32f88c117a59f98d6025a7b0821a5469..d47e82682cce298a57424eaae1918d3f100e9615 100644 (file)
@@ -70,11 +70,12 @@ class Player(object):
         self.gameboard = gameboard
 
     @classmethod
-    def import_player(cls, definition):
+    def import_player(cls, definition, gameboard=None):
         return cls(
             definition['bits'],
             tuple(definition['position']),
-            definition['movement_mode'])
+            definition['movement_mode'],
+            gameboard=gameboard)
 
     def export(self):
         return {
@@ -150,6 +151,13 @@ class Player(object):
             return True
         return False
 
+    def force_position(self, pos, delta=True):
+        if delta:
+            pos = (self.position[0] + pos[0],
+                   self.position[1] + pos[1])
+        if (0 <= pos[0] < 5 and 0 <= pos[1] < 5):
+            self.position = pos
+
     def set_gameboard(self, gameboard):
         self.gameboard = gameboard