StudyLover
  • Home
  • Study Zone
  • Profiles
  • Contact us
  • Sign in
StudyLover Simulating a Bouncing Ball in Pygame
Download
  1. Python
  2. OOP: A Comprehensive Guide
Simulating Elliptical Orbits in Pygame : Web Scraping: Scrape data from websites using libraries like BeautifulSoup or Scrapy
OOP: A Comprehensive Guide

Simulating a Bouncing Ball in Pygame

Here's a Python script using Pygame to simulate a bouncing ball:

Python

import pygame


pygame.init()


# Screen dimensions

width, height = 800, 600

screen = pygame.display.set_mode((width, height))

pygame.display.set_caption("Bouncing Ball")


# Ball properties

ball_radius = 20

ball_color = (255, 0, 0)

ball_x = width // 2

ball_y = height // 2

ball_x_speed = 1

ball_y_speed = 1


# Game loop

running = True

while running:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            running = False


    # Update ball position

    ball_x += ball_x_speed

    ball_y += ball_y_speed


    # Bounce off walls

    if ball_x + ball_radius  >= width or ball_x - ball_radius <= 0:

        ball_x_speed *= -1

    if ball_y + ball_radius >= height or ball_y - ball_radius <= 0:

        ball_y_speed *= -1


    # Draw the ball

    screen.fill((0, 0, 0))

    pygame.draw.circle(screen, ball_color, (int(ball_x), int(ball_y)), ball_radius)

    pygame.display.flip()


pygame.quit()


Explanation:

1.    Initialization: Sets up the Pygame window and defines the ball's initial position, speed, and color.

2.    Game loop: Continuously updates the ball's position and checks for collisions with the screen edges.

3.    Ball movement: Updates the ball's x and y coordinates based on its speed.

4.    Collision detection: If the ball hits a wall, its velocity in that direction is reversed.

5.    Drawing the ball: Clears the screen, draws the ball, and updates the display.

Enhancements:

  • Gravity: Add gravity to simulate a more realistic bounce.

  • Friction: Introduce friction to gradually slow down the ball's motion.

  • Multiple balls: Create multiple balls with different properties.

  • Power-ups: Add power-ups to change the ball's properties (e.g., size, speed, color).

  • Sound effects: Incorporate sound effects for bounces and power-ups.

  • User interaction: Allow users to control the ball's direction or speed.

By experimenting with these enhancements, you can create more engaging and complex bouncing ball simulations.

 

Simulating Elliptical Orbits in Pygame Web Scraping: Scrape data from websites using libraries like BeautifulSoup or Scrapy
Our Products & Services
  • Home
Connect with us
  • Contact us
  • +91 82955 87844
  • Rk6yadav@gmail.com

StudyLover - About us

The Best knowledge for Best people.

Copyright © StudyLover
Powered by Odoo - Create a free website