0

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 ?

0 Answers0