Найти в Дзене
9 подписчиков

Сегодня утром 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
}
Скорее всего за основу взял соседний код для определения коллизий с битой, который я взял со стековерфлоу, но все равно вышло хорошо, как мне кажется.

#go #gigacode #gigachat #golang
Около минуты