В задаче сказано:
"2. Метод createNewApple() должен вызывать метод checkCollision(GameObject) до тех пор, пока координаты apple и любого из сегментов змеи совпадают."
Воспринимая условие в лоб, я написал:
private void createNewApple() {
int x = getRandomNumber(WIDTH);
int y = getRandomNumber(HEIGHT);
Apple apple = new Apple(x, y);
this.apple = apple;
while (snake.checkCollision(apple)) {
snake.checkCollision(apple);
}
}
В отрывке кода выше метод createNewApple(), пока координаты apple и любого из сегментов змеи совпадают (snake.checkCollision(apple) проверяет, совпадает ли параметр с одной из частей змеи), запускает checkCollision(GameObject)
Я понимаю, что это как минимум выглядит странно, и не удивительно, что валидатор это не пропускает. Но мозги уже кипят. Прошу помочь подсказкой, не решением! Возможно, если бы условие звучало более внятно, то я бы догадался...