def test_bounce_ball_against_top_wall(self): pong = Pong() pong.ball = Ball(Config.ball_left_start_x, Config.paddle_upper_limit, 5, -5) pong.move_ball() self.assertEqual(pong.ball.vx, 5) self.assertEqual(pong.ball.vy, 5)
def test_move_ball(self): pong = Pong() pong.move_ball() self.assertEqual(pong.ball.x, Config.ball_left_start_x + Config.ball_serve_left_vx) self.assertEqual(pong.ball.y, Config.ball_left_start_y + Config.ball_serve_left_vy)
def test_ball_missed_on_right(self): pong = Pong() pong.ball = Ball(1005, 250, 5, 5) pong.move_ball() self.assertEqual(pong.ball.x, Config.ball_right_start_x) self.assertEqual(pong.ball.y, Config.ball_right_start_y) self.assertEqual(pong.ball.vx, 0) self.assertEqual(pong.ball.vy, 0)
def test_ball_missed_on_left(self): pong = Pong() pong.ball = Ball(-5, 250, -5, -5) pong.move_ball() self.assertEqual(pong.ball.x, Config.ball_left_start_x) self.assertEqual(pong.ball.y, Config.ball_left_start_y) self.assertEqual(pong.ball.vx, 0) self.assertEqual(pong.ball.vy, 0)
screen = pygame.display.set_mode((width, height)) clock = pygame.time.Clock() pong = Pong(hit_wall, hit_paddle) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() keys = pygame.key.get_pressed() if keys[pygame.K_q]: pong.move_left_up() if keys[pygame.K_a]: pong.move_left_down() if keys[pygame.K_p]: pong.move_right_up() if keys[pygame.K_l]: pong.move_right_down() if keys[pygame.K_SPACE]: pong.serve() pong.move_ball() draw_pong(screen, pong)
def test_bounce_ball_against_right_paddle(self): pong = Pong() pong.ball = Ball(960, 250, 5, 5) pong.move_ball() self.assertEqual(pong.ball.vx, -5) self.assertEqual(pong.ball.vy, 5)
def test_bounce_ball_against_left_paddle(self): pong = Pong() pong.ball = Ball(30, 250, -5, -5) pong.move_ball() self.assertEqual(pong.ball.vx, 5) self.assertEqual(pong.ball.vy, -5)
def test_bounce_ball_against_bottom_wall(self): pong = Pong() pong.ball = Ball(Config.ball_left_start_x, 500 - 20, 5, 5) pong.move_ball() self.assertEqual(pong.ball.vx, 5) self.assertEqual(pong.ball.vy, -5)