Вроде тут норм, но всё равно иногда спавнится внутри змейки
private void createNewApple(){
do {
apple = new Apple(getRandomNumber(WIDTH), getRandomNumber(HEIGHT));
} while (snake.checkCollision(apple));
}