rotation action
[naja.git] / naja / gameboard.py
index 2d138b2dbe74fceb3bf313fca5eaf05755b2f22b..2cce169544823e843c86e82f2577c3a634f99e5e 100644 (file)
@@ -138,20 +138,20 @@ class GameBoard(object):
             for i in range(max(0, px -1), min(5, px + 2)):
                 locations_to_rotate.append((i, py - 1))
 
-        if px > 0:
-            locations_to_rotate.append((px - 1, py))
-
         if px < 4:
             locations_to_rotate.append((px + 1, py))
 
         if py < 4:
-            for i in range(max(0, px -1), min(5, px + 2)):
+            for i in reversed(range(max(0, px -1), min(5, px + 2))):
                 locations_to_rotate.append((i, py + 1))
 
-        if direction == ROTATION.CLOCKWISE:
-            new_positions = locations_to_rotate[1:] + locations_to_rotate[0]
-        elif direction == ROTATION.ANTICLOCKWISE:
-            new_positions = locations_to_rotate[-1] + locations_to_rotate[:-1]
+        if px > 0:
+            locations_to_rotate.append((px - 1, py))
+
+        if ROTATION[direction] == ROTATION.CLOCKWISE:
+            new_positions = locations_to_rotate[1:] + [locations_to_rotate[0]]
+        elif ROTATION[direction] == ROTATION.ANTICLOCKWISE:
+            new_positions = [locations_to_rotate[-1]] + locations_to_rotate[:-1]
 
         for old, new in zip(locations_to_rotate, new_positions):
             rotated_locations[old] = self.board_locations[new]