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
Около минуты
15 июня 2024