Вывод в консоль подтверждает адекватность работы метода. Но валику не нравится.
Чтобы проверять выполнение условий победы, нам нужно будет знать реальное количество машин, с которыми разминулся игрок.
Для этого создай поле passedCarsCount в классе RoadManager и геттер к нему.
Значение этого поля должно увеличиваться на единицу после прохождения каждой машины-препятствия (удаления машины из списка items).
Сравнивать passedCarsCount и RACE_GOAL_CARS_COUNT будем в методе onTurn(int).
Если значение passedCarsCount больше или равно RACE_GOAL_CARS_COUNT, значит цель достигнута и нужно показать финишную линию.
Требования:
- В классе RoadManager должно существовать приватное поле passedCarsCount типа int, инициализированное при объявлении значением 0.
- В классе RoadManager должен существовать публичный геттер int getPassedCarsCount(), который возвращает значение поля passedCarsCount.
- В методе deletePassedItems() класса RoadManager необходимо увеличивать значение поля passedCarsCount на единицу, если из списка items удаляется объект и тип этого объекта — не шипы.
- В методе onTurn(int) класса RacerGame необходимо вызвать у объекта finishLine метод show(), если значение, которое вернул метод roadManager.getPassedCarsCount(), больше либо равно RACE_GOAL_CARS_COUNT.
- В методе onTurn(int) класса RacerGame метод show() объекта finishLine должен вызываться до moveAll().
package com.javarush.games.racer;
public enum Direction {
RIGHT,
LEFT,
NONE
}