def get_aimed_robot(self, x, y, angle_x, angle_y, zone): """ Return a new Robot object pointing to x, y """ robot = Robot(zone, x, y, 0, 0) theta = robot.get_rotation_to_point(angle_x, angle_y) theta = theta if theta > 0 else 2 * math.pi + theta return Robot(zone, robot.x, robot.y, theta, robot.velocity)
def test_calculating_angle_everything(self): angle_in_degrees = 64 robot = Robot(3, 4, angle_in_degrees) angle_to_rotate = robot.get_rotation_to_point(1, 2) self.assertEqual(angle_to_rotate, -109)
def test_calculating_angle_ten(self): angle_in_degrees = -180 robot = Robot(0, 4, angle_in_degrees) angle_to_rotate = robot.get_rotation_to_point(0, 0) self.assertEqual(angle_to_rotate, 180)
def test_calculating_angle_nine(self): angle_in_degrees = -90 robot = Robot(0, 0, angle_in_degrees) angle_to_rotate = robot.get_rotation_to_point(4, 4) self.assertEqual(angle_to_rotate, -135)
def test_calculating_angle_seven(self): angle_in_degrees = 45 robot = Robot(0, 0, angle_in_degrees) angle_to_rotate = robot.get_rotation_to_point(4, 4) self.assertEqual(angle_to_rotate, 90)
def test_calculating_angle_five(self): angle_in_degrees = 180 robot = Robot(0, 0, angle_in_degrees) angle_to_rotate = robot.get_rotation_to_point(0, 0) self.assertEqual(angle_to_rotate, -90)