def test_normalize(self): self.vector = Vector2D(3, 5) normalized = self.vector.normalize() length = self.vector.length self.assertEqual(normalized, (3 / length, 5 / length)) self.assertEqual((0, 0), Vector2D.zeros().normalize())
def __init__(self, position, images, **kwargs): super(Player, self).__init__(position, **kwargs) self.speed = 7 self.state = Player.State.NORMAL self.images = images self.image = getattr(self.images, self.state) self.mask = convert_to_mask(self.image) self._left_move = (-self.speed, 0) self._right_move = (self.speed, 0) self._direction = Vector2D.zeros() self._destroyed_animation_frames = 10 self._is_destroyed = False
def test_angles(self): self.assertEqual(0, Vector2D.zeros().angle) self.vector = Vector2D(0, 3) self.assertEquals(self.vector.angle, 90) rotated = self.vector.rotate(-90) self.assertAlmostEqual(rotated.angle, 0) self.assertEqual(rotated.get_angle_between(self.vector), 90) self.assertEqual(self.vector.get_angle_between(rotated), -90) self.vector.angle -= 90 self.assertEqual(self.vector.length, rotated.length) self.assertEqual(self.vector.angle, 0) self.assertEqual(self.vector, [3, 0]) rotated.rotate(300, inplace=True) self.assertAlmostEqual(self.vector.get_angle_between(rotated), -60) rotated.rotate(rotated.get_angle_between(self.vector), inplace=True) self.assertAlmostEqual(self.vector.get_angle_between(rotated), 0) self.vector.angle = 90 self.assertEqual(self.vector.angle, 90) self.assertEqual(round(self.vector, 15), [0, 3])
def draw(self, screen): if self.can_move(screen): self.move(self._direction) self._direction = Vector2D.zeros() super(Player, self).draw(screen)
def test_nonzero(self): self.assertTrue(self.vector) self.assertFalse(Vector2D.zeros()) self.assertTrue(Vector2D(0, 1)) self.assertTrue(Vector2D(1, 0))
def __init__(self, position=Vector2D.zeros(), *args, **kwargs): super(MockVisibleGameObject, self).__init__(position, *args, **kwargs)