Объекты-препятствия должны появляться в пределах проезжей части в случайной позиции.
В классе RoadManager введи две константы: FIRST_LANE_POSITION и FOURTH_LANE_POSITION — крайняя левая и крайняя правая позиции координат x матриц объектов-препятствий на проезжей части. Присвой им значения 16 и 44 соответственно.
Также в классе RoadManager должен существовать список всех текущих объектов-препятствий.
В этом же классе создай метод addRoadObject(RoadObjectType, Game), который будет генерировать позицию нового препятствия и добавлять его в список всех объектов-препятствий. Координаты препятствия должны генерироваться следующим образом:
x = game.getRandomNumber(FIRST_LANE_POSITION, FOURTH_LANE_POSITION) — случайное число в пределах проезжей части;
y = -1 * RoadObject.getHeight(type) — изначально объект располагается за пределами игрового поля, чтобы появиться плавно.
- В классе RoadManager должно существовать приватное статическое final int поле FIRST_LANE_POSITION, проинициализированное при объявлении значением 16.
- В классе RoadManager должно существовать приватное статическое final int поле FOURTH_LANE_POSITION, проинициализированное при объявлении значением 44.
- В классе RoadManager должно существовать приватное поле items типа List<RoadObject>, инициализированное при объявлении значением нового ArrayList.
- В классе RoadManager должен существовать приватный метод void addRoadObject(RoadObjectType type, Game game).
- В методе addRoadObject(RoadObjectType, Game) должна создаваться локальная переменная int x и при создании инициализироваться значением game.getRandomNumber(FIRST_LANE_POSITION, FOURTH_LANE_POSITION).
- В методе addRoadObject(RoadObjectType, Game) должна создаваться локальная переменная int y, и при создании инициализироваться значением -1 * RoadObject.getHeight(type).
- В методе addRoadObject(RoadObjectType, Game) должен вызываться метод createRoadObject(RoadObjectType, int, int) с параметрами: type (параметр метода), x и y (локальные переменные метода).
- В методе addRoadObject(RoadObjectType, Game) результат вызова метода createRoadObject(RoadObjectType, int, int) должен добавляться в список items, если он не равен null.
- В классе RoadManager должен быть импорт класса com.javarush.engine.cell.Game.