From 61683b60428366c23da8b907e839998b04ad04b8 Mon Sep 17 00:00:00 2001 From: adrianna Date: Sat, 17 May 2014 02:13:50 +0200 Subject: [PATCH] clockwise and anticlockwise were swapped because I thought west was east --- naja/gameboard.py | 9 ++++++--- naja/tests/test_gameboard.py | 30 ++++++++++++++++++++---------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/naja/gameboard.py b/naja/gameboard.py index da7dbd2..5e12568 100644 --- a/naja/gameboard.py +++ b/naja/gameboard.py @@ -181,14 +181,17 @@ class GameBoard(object): if px > 0: locations_to_rotate.append((px - 1, py)) + print "rotating", direction + if ROTATION[direction] == ROTATION.CLOCKWISE: + print "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]) + print "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] + rotated_locations[new] = self.board_locations[old] self.board_locations.update(rotated_locations) diff --git a/naja/tests/test_gameboard.py b/naja/tests/test_gameboard.py index ca031a3..2db02a7 100644 --- a/naja/tests/test_gameboard.py +++ b/naja/tests/test_gameboard.py @@ -152,54 +152,64 @@ class TestGameBoard(TestCase): (0, 2): '12', (1, 2): '32', (3, 2): '42', (4, 2): '02', })) - def test_rotate_locations_clockwise(self): + def test_rotate_locations_anticlockwise(self): board = GameBoard.new_game(self.make_deck()) board.board_locations = self.generate_locations() - board.rotate_locations('CLOCKWISE') + board.rotate_locations('ANTICLOCKWISE') self.assertEqual(board.board_locations, self.generate_locations({ (1, 1): '21', (2, 1): '31', (3, 1): '32', (1, 2): '11', (3, 2): '33', (1, 3): '12', (2, 3): '13', (3, 3): '23', })) - def test_rotate_locations_clockwise_top(self): + def test_rotate_locations_anticlockwise_top(self): board = GameBoard.new_game(self.make_deck(), initial_pos=(2, 0)) board.board_locations = self.generate_locations() - board.rotate_locations('CLOCKWISE') + board.rotate_locations('ANTICLOCKWISE') self.assertEqual(board.board_locations, self.generate_locations({ (1, 0): '30', (3, 0): '31', (1, 1): '10', (2, 1): '11', (3, 1): '21', })) - def test_rotate_locations_clockwise_right(self): + def test_rotate_locations_anticlockwise_right(self): board = GameBoard.new_game(self.make_deck(), initial_pos=(0, 2)) board.board_locations = self.generate_locations() - board.rotate_locations('CLOCKWISE') + board.rotate_locations('ANTICLOCKWISE') self.assertEqual(board.board_locations, self.generate_locations({ (0, 1): '11', (1, 1): '12', (1, 2): '13', (0, 3): '01', (1, 3): '03', })) - def test_rotate_locations_clockwise_corner(self): + def test_rotate_locations_anticlockwise_corner(self): board = GameBoard.new_game(self.make_deck(), initial_pos=(0, 4)) board.board_locations = self.generate_locations() - board.rotate_locations('CLOCKWISE') + board.rotate_locations('ANTICLOCKWISE') self.assertEqual(board.board_locations, self.generate_locations({ (0, 3): '13', (1, 3): '14', (1, 4): '03', })) - def test_rotate_locations_anticlockwise(self): + def test_rotate_locations_clockwise(self): board = GameBoard.new_game(self.make_deck()) board.board_locations = self.generate_locations() - board.rotate_locations('ANTICLOCKWISE') + board.rotate_locations('CLOCKWISE') self.assertEqual(board.board_locations, self.generate_locations({ (1, 1): '12', (2, 1): '11', (3, 1): '21', (1, 2): '13', (3, 2): '31', (1, 3): '23', (2, 3): '33', (3, 3): '32', })) + def test_rotate_locations_clockwise_1_3(self): + board = GameBoard.new_game(self.make_deck(), initial_pos=(1, 3)) + board.board_locations = self.generate_locations() + board.rotate_locations('CLOCKWISE') + self.assertEqual(board.board_locations, self.generate_locations({ + (0, 2): '03', (1, 2): '02', (2, 2): '12', + (0, 3): '04', (2, 3): '22', + (0, 4): '14', (1, 4): '24', (2, 4): '23', + })) + def test_allow_chess_move_knight(self): board = GameBoard.new_game(self.make_deck()) board.allow_chess_move(MOVES.KNIGHT) -- 2.34.1