Пример #1
0
def main():
    board = Board()
    move = Move(board.board_ids, board.piece_start_id)

    print("\nWelcome in MovingPiece game!")
    print("Move your piece along the board by providing movement characters:")
    print("M - move forward, R - rotate right by 90 degrees, L - rotate left by 90 degrees")
    print("")

    board.pretty_print_board()
    print("")
    print("Current position: {}".format(move.get_piece_id_in_output_format()))

    user_characters = get_user_characters()
    move.set_user_characters(user_characters)

    move.calculate_move_from_characters_to_id()
    move_id = move.get_piece_id()

    board.set_piece_id(move_id)
    board.set_piece_on_board()

    print("")
    board.pretty_print_board()
    print("")
    print("Current position: {}".format(move.get_piece_id_in_output_format(move_id)))
Пример #2
0
class TestMove(unittest.TestCase):

    def setUp(self):
        self.board = Board()
        self.move = Move(self.board.board_ids, self.board.piece_start_id)

    def test_calculate_move_from_characters_to_id(self):
        user_characters = {"MRMLMRM": "22", "RMMM": "03", "LMMM": "00", "MMLMMM": "20", "MMRMMMLMLMLMLMLM":"33",
                           "MMRMMMRMRMRMRMRM":"13", "MMRMMMMMMMMMMMMMM":"24", "RRMMMM":"00", "RMMMMMMMM":"04", "RRRRRRRRRRLLLLLLLLLLLLL":"00"}

        for characters, result in user_characters.items():
            self.move.set_user_characters(characters)
            self.move.calculate_move_from_characters_to_id()
            self.assertEqual(result, self.move.get_piece_id())
            self.move.__init__(self.board.board_ids, self.board.piece_start_id)

    def test_output_format(self):
        user_characters = {"MRMLMRM": "2 2 E", "RMMM": "0 3 E", "LMMM": "0 0 W", "MMLMMM": "2 0 W", "MMRMMMLMLMLMLMLM": "3 3 N",
                           "MMRMMMRMRMRMRMRM": "1 3 S", "MMRMMMMMMMMMMMMMM": "2 4 E", "RRMMMM": "0 0 S", "RMMMMMMMM": "0 4 E"}

        for characters, result in user_characters.items():
            self.move.set_user_characters(characters)
            self.move.calculate_move_from_characters_to_id()
            self.assertEqual(result, self.move.get_piece_id_in_output_format())
            self.move.__init__(self.board.board_ids, self.board.piece_start_id)