хелп
Пришло время создать главаря врагов. Чтобы он выглядел эффектнее, добавим анимацию при движении.
Если менять анимацию каждый такт, его движения будут казаться слишком быстрыми.
Чтобы они выглядели нормально, нужно менять кадр один раз в 10 тактов.
Именно поэтому нам нужно переопределить метод nextFrame и добавить переменную frameCount, которая будет вести отсчет тактов.
Требования:
- В пакете gameobjects должен существовать публичный класс Boss.
- Класс Boss должен быть наследником класса EnemyShip.
- В классе Boss должен существовать публичный конструктор с двумя параметрами типа double, который вызывает конструктор базового класса с этими же параметрами.
- В конструкторе класса Boss необходимо вызвать метод setAnimatedView(int[][]...) с параметрами: ShapeMatrix.BOSS_ANIMATION_FIRST, ShapeMatrix.BOSS_ANIMATION_SECOND.
- В классе Boss должно существовать приватное поле frameCount типа int, инициализированное при объявлении значением 0.
- В классе Boss должен быть переопределен метод nextFrame() родительского класса Ship.
- Метод nextFrame() должен увеличивать значение поля frameCount на единицу.
- Метод nextFrame() должен вызвать метод суперкласса nextFrame(), если остаток от деления frameCount на 10 равен нулю или босс неживой.
- В методе createShips() класса EnemyFleet необходимо создать и добавить в список ships новый объект типа Boss. Конструктор класса необходимо вызвать с параметрами STEP * COLUMNS_COUNT / 2 - ShapeMatrix.BOSS_ANIMATION_FIRST.length / 2 - 1 и 5.
package com.javarush.games.spaceinvaders;
public enum Direction {
RIGHT, LEFT, UP, DOWN
}