Darts Game - подсчет очков

Существует задача консольно реализовать подсчет очков в Дартсе:
Существуют две величины (координаты x и y) они получают значения и сравниваются с кругами, которые имеют определенный порог величины (ну классические круги в дартсе)

Сами интервалы значений, которые и определяет, куда попадет бросок (значение x и y) - больше 10 = 0, меньше 10 = 1, меньше 5 = 5, меньше 1 = 10. Я пытался реализовать через конструкцию if, но я не могу выполнить все тест кейсы.

![введите сюда описание изображения

Так я хотел бы понять - существует ли способ точнее сравнивать интервалы, чтобы <10 и <5 не накладывались на друг друга.

public static int GetScore(double x, double y)
{
    if (x < 1 & y < 1)
    {
        return 10;
    }

    if (x < 5 & y < 5)
    {
        return 5;
    }

    if (x < 10 & y < 10)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

Ответы (2 шт):

Автор решения: Serhii Dikobrazko

Доска для дартса - круг. Чем ближе к центру - тем большо очков. Вам надо считать радиус того круга, куда попал дротик и исходить от него Центр круга должен быть в 0:0.

public static GetScore(double x, double y){
    double r = Math.Sqrt(x * x + y * y);

    if(r < 1) return 10;
    if(r < 5) return 5;
    if(r < 10) return 1;
    return 0;
}
→ Ссылка
Автор решения: Harry

Можно даже без корней :)

public static int GetScore(double x, double y)
{
    double r = x*x+y*y;
    
    if (r < 1)   return 10;
    if (r < 25)  return 5;
    if (r < 100) return 1;
    return 0;
}

Или

public static int GetScore(double x, double y)
{
    double r = x*x+y*y;
    return (r < 1) ? 1 : (r < 25) ? 5 : (r < 100) ? 1 : 0;
}
→ Ссылка