Made Test Program

This commit is contained in:
OusmBlueNinja 2025-02-21 13:15:31 -06:00
parent 2058989c85
commit 345478e6e9

69
main.py
View File

@ -0,0 +1,69 @@
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()