-from pygame import Vector2
from itertools import combinations
+from pygame import Vector2
+
def detectTopCollision(particle, box):
if particle.top <= box.top:
-import pygame
import random
+import pygame
+
from box import Box
+from collision import sweepAndPrune, handleParticleCollision, detectParticleCollision
from colours import *
from particle import Particle
-from collision import sweepAndPrune, handleParticleCollision, detectParticleCollision
pygame.init()
for particle1, particle2 in sweepAndPrune(self.particles):
if (particle1, particle2) not in self.collided_last_frame and (
- particle2, particle1) not in self.collided_last_frame:
+ particle2, particle1) not in self.collided_last_frame:
handleParticleCollision(particle1, particle2)
self.collided_last_frame.add((particle1, particle2))
import pygame
-from box import Box
-from collision import handleBoxCollision, handleParticleCollision, detectTopCollision, handleTopCollision, \
+from collision import detectTopCollision, handleTopCollision, \
detectBottomCollision, handleBottomCollision, detectLeftCollision, handleLeftCollision, handleRightCollision, \
detectRightCollision
from colours import *
-
class Particle:
speed_limit = 3
self.colour = RED
- self.collided_with_wall = {"top":False, "bottom": False, "left": False, "right": False}
-
+ self.collided_with_wall = {"top": False, "bottom": False, "left": False, "right": False}
def get_next_frame(self, position, velocity, delta):
vel = pygame.Vector2()
if not detectRightCollision(self, self.collision_layer[0]):
self.collided_with_wall["right"] = False
-
def draw(self, surf):
pygame.draw.circle(surf, self.colour, self.position, self.radius)