Move the player.
[naja.git] / naja / player.py
index 97422b867d25fab3ea31675ba2978450a1f00701..fa6e1e9f3b3edd39a7a20a109135c39ee1f9cd36 100644 (file)
@@ -1,3 +1,4 @@
+from naja.constants import BITS
 
 
 class PlayerBits(object):
@@ -67,3 +68,27 @@ class Player(object):
             'bits': self.bits.bits,
             'position': list(self.position),
         }
+
+    def move(self, direction):
+        if not self.bits.check_bit(direction):
+            return False
+        # TODO: Something cleaner than this.
+        x, y = self.position
+        if direction == BITS.NORTH:
+            if y > 0:
+                self.position = (x, y - 1)
+                return True
+        elif direction == BITS.SOUTH:
+            if y < 4:
+                self.position = (x, y + 1)
+                return True
+        elif direction == BITS.EAST:
+            if x < 4:
+                self.position = (x + 1, y)
+                return True
+        elif direction == BITS.WEST:
+            if x > 0:
+                self.position = (x - 1, y)
+                return True
+
+        return False