Сегодня утром GigaCode сочинил мне код, для опредения коллизии двух кругов:
``` func (b Ball) intersectsBall(ball Ball) bool { circleDistanceX := math.Abs(float64(b.X - ball.X)) circleDistanceY := math.Abs(float64(b.Y - ball.Y))
if circleDistanceX > float64(ball.Radius+b.Radius) { return false } if circleDistanceY > float64(ball.Radius+b.Radius) { return false }
if circleDistanceX <= float64(ball.Radius) { return true } if circleDistanceY <= float64(ball.Radius) { return true } return false } ```
Скорее всего за основу взял соседний код для определения коллизий с битой, который я взял со стековерфлоу, но все равно вышло хорошо, как мне кажется.