• JavaRush
  • Курс
  • Задачи
  • Игры
  • Опросы
  • Акция
  • Помощь
  • Подписки
  • Истории успеха
  • Чат
  • Форум
  • Группы
  • Друзья
  • Стажировка
  • Активность

Задачи

  • Отзывы
  • О нас
  • CS50
  • Начать обучение
JavaRush
  • Все задачи
  • Игра Space Invaders (12/34)

    Games
    0 уровень, 6 лекция
    Создадим класс Bullet, отвечающий за пули. Конструктор этого класса будет принимать координаты x, y и направление полета. Также в конструкторе будет вызываться метод setMatrix с параметром матрицы пули(ShapeMatrix.BULLET), которую ты найдешь в классе ShapeMatrix. Так как пули летают только вверх ил
    3
    Недоступна
  • Игра Space Invaders (13/34)

    Games
    0 уровень, 6 лекция
    Введем переменную COMPLEXITY, которая отвечает за сложность игры, а именно — за вероятность выстрела вражеского корабля за один шаг игры. Все корабли должны стрелять, поэтому в класс Ship добавим метод fire. Так как экземпляр этого класса мы не будем создавать, сделаем этот метод "заглушкой", а реа
    3
    Недоступна
  • Игра Space Invaders (14/34)

    Games
    0 уровень, 6 лекция
    Создадим и реализуем метод fire у EnemyFleet. Этот метод будет вызывать метод fire у одного из кораблей флота, выбранного случайно. Кроме того, флот будет стрелять с вероятностью COMPLEXITY процентов.
    3
    Недоступна
  • Игра Space Invaders (15/34)

    Games
    0 уровень, 6 лекция
    Все вражеские пули будем хранить в переменной enemyBullets класса SpaceInvadersGame. Добавим их отрисовку и движение в соответствующие методы. Чтобы удалить потраченные пули, создадим и реализуем метод removeDeadBullets() в классе SpaceInvadersGame. Для удаления можно либо использовать итератор, ли
    3
    Недоступна
  • Игра Space Invaders (16/34)

    Games
    0 уровень, 6 лекция
    Теперь создадим корабль игрока. Для этого нам нужен класс PlayerShip. В его конструкторе будем устанавливать значения координат таким образом, чтобы корабль отображался внизу экрана по центру. Кроме этого, конструктор задает внешний вид корабля, устанавливая матрицу PLAYER, которую мы тебе прислали
    3
    Недоступна
  • Игра Space Invaders (17/34)

    Games
    0 уровень, 6 лекция
    Добавим в класс PlayerShip метод, который проверяет, попали ли вражеские пули в корабль игрока (метод isCollision класса GameObject). Если было попадание, он "убивает" корабль и пулю. Также добавим корабль игрока в класс игры, отрисуем его и внесем проверку попаданий в соответствующий метод.
    3
    Недоступна
  • Игра Space Invaders (18/34)

    Games
    0 уровень, 6 лекция
    На данном этапе мы подготовим анимацию для крушения кораблей. Для этого нам понадобится поле frames типа List, которое будет хранить список матриц для кадров анимации. Также нам понадобится поле frameIndex, которое хранит индекс текущего кадра анимации. Передавать кадры анимации мы будем в
    3
    Недоступна
  • Игра Space Invaders (19/34)

    Games
    0 уровень, 6 лекция
    Реализуем "убийство" игрока, переопределив метод kill(). Помимо установки флага isAlive в состояние false, он будет добавлять анимацию уничтожения корабля.
    3
    Недоступна
  • Игра Space Invaders (20/34)

    Games
    0 уровень, 6 лекция
    Чтобы переключиться на следующий кадр анимации, в классе Ship создадим метод nextFrame. Он устанавливает в поле matrix следующий кадр анимации, если это возможно. Также расширим функционал метода draw, переопределив его таким образом, что бы он вызвал метод суперкласса для отрисовки и метод nextFra
    3
    Недоступна
  • Игра Space Invaders (21/34)

    Games
    0 уровень, 6 лекция
    При проигрыше и выигрыше игра останавливается. Давай реализуем метод stopGame, который будет останавливать игру и выводить соответствующее сообщение на экран. Тексты сообщений о выигрыше или о проигрыше придумай сам. Если пуля попала в игрока, перед остановкой игры нужно успеть показать анимацию вз
    3
    Недоступна
  • Игра Space Invaders (22/34)

    Games
    0 уровень, 6 лекция
    Добавим новое свойство кораблю игрока — направление движения. Задавать его будем через сеттер. Корабль может двигаться в двух направлениях — влево или вправо. Но поскольку он может совсем не двигаться, для этого состояния будем использовать направление "вверх". Так как при старте корабль не двигает
    3
    Недоступна
  • Игра Space Invaders (23/34)

    Games
    0 уровень, 6 лекция
    В этой части реализуем движение корабля игрока. Учти, что корабль не должен выходить за пределы игрового поля. Чтобы корабль двигался вместе со всеми остальными объектами, необходимо вызывать метод move() в методе moveSpaceObjects() главного класса игры.
    3
    Недоступна
  • 1
  • ...
  • 106
  • 107
  • 108
  • 109
Обучение
  • Регистрация
  • Курс Java
  • Курс Harvard CS50
  • Курс по Android
  • Стажировка
  • Помощь по задачам
  • Цены
  • Задачи-игры
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
  • Конкурсы
О нас
  • О JavaRush
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
Видео
  • Топ-3 фичи JavaRush
  • Раздел «Курс»
  • Раздел «Помощь»
  • Раздел «Игры»
  • 3 IDE
  • Светлая тема сайта
Подписывайтесь
© 2019 JavaRush «Программистами не рождаются»
© 2019 JavaRush «Программистами не рождаются»