In this version the particles are bouncing in a square or circular bounding box with perfectly elastic collisions.
Particles have masses and radius.
It's a very educational script to learn something about particle physics.
You can set a flag and save the trajectories on a file log.
Circle boundary box and file log.