示例#1
0
    def test_turn(self):
        pos = Position(0, 0, 1)
        for x in range(4, -3, -1):
            pos.turn_left()
            self.assertEqual(pos.orientation, x % 4)

        pos = Position(0, 0, -1)
        for x in range(10):
            pos.turn_right()
            self.assertEqual(pos.orientation, x % 4)
示例#2
0
class Character:
    def __init__(self, name, pos_x=0, pos_y=0, orientation=0):
        self.position = Position(pos_x, pos_y, orientation)
        self.name = name

    def turn_left(self):
        self.position.turn_left()

    def turn_right(self):
        self.position.turn_right()

    def move_forward(self):
        self.position.move_forward()
示例#3
0
 def test_advance(self):
     pos = Position(5, 5, 0)
     pos.move_forward()
     self.validate_position(pos, Position(5, 6, 0))
     pos.turn_right()
     pos.move_forward()
     self.validate_position(pos, Position(6, 6, 1))
     pos.turn_right()
     pos.move_forward()
     self.validate_position(pos, Position(6, 5, 2))
     pos.turn_right()
     pos.move_forward()
     self.validate_position(pos, Position(5, 5, 3))