i'm trying to make simple mini sumo robot environment. Unfortunately stuck on colision detection
def colision_test(self, enemy):
col = self.rect.colliderect(enemy.rect.inflate(-30, -30))
if col:
dx, dy = enemy.x - self.x, enemy.y - self.y
dist = math.hypot(dx, dy)
nv = pygame.math.Vector2(dx, dy) / dist
rd1 = pygame.math.Vector2(self.x, self.y).reflect(nv)
rd2 = pygame.math.Vector2(enemy.x, enemy.y).reflect(nv)
len1, len2 = rd1.length(), rd2.length()
if len1 > 0:
rd1.scale_to_length(len2/3779.52)
self.vr, self.vl = rd1.x/100, rd1.y/100
else:
self.vr, self.vl = -enemy.vr, -enemy.vl
if len2 > 0:
rd2.scale_to_length(len1/3779.52)
enemy.vr, enemy.vl = rd2.x, rd2.y
else:
enemy.vr, enemy.vl = -self.vr, -self.vl
return col
Later, wanna add a little bit mor physic eg. take into consideration momentium
What i doing wrong ?