import pygame import random from particle import Particle pygame.init() # Set up display and clock. screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption("Particle Test") clock = pygame.time.Clock() particles = [] running = True while running: dt = clock.tick(60) / 1000.0 # Delta time in seconds. # Event loop: quit on window close or spawn new particles on mouse click. for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == pygame.MOUSEBUTTONDOWN: # Create several particles at the mouse position. for _ in range(10): pos = pygame.mouse.get_pos() vel = (random.uniform(-100, 100), random.uniform(-100, 100)) p = Particle( pos=pos, vel=vel, acceleration=(0, 0), lifetime=2.0, decay_rate=1, color=( random.randint(100, 255), random.randint(100, 255), random.randint(100, 255) ), size=5, size_decay=2, glow=True, glow_intensity=1.0, friction=0.1, gravity=50, bounce=True, bounce_damping=0.7, random_spread=10, spin=0, spin_rate=random.uniform(-180, 180), spin_decay=0.5, trail=True, trail_length=15, fade=True, shape='circle' ) particles.append(p) # Clear the screen. screen.fill((0, 0, 0)) # Update and draw each particle. for particle in particles[:]: particle.update(dt, screen.get_rect()) particle.draw(screen) if particle.is_dead(): particles.remove(particle) pygame.display.flip() pygame.quit()