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

Задачи

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение сейчас
  • Все задачи
Все квесты Java Syntax Java Core Java Multithreading Java Collections Games
Все уровни 0 уровень 1 уровень 2 уровень 3 уровень 4 уровень 5 уровень 6 уровень 7 уровень 8 уровень 9 уровень 10 уровень 11 уровень 12 уровень 13 уровень 14 уровень 15 уровень 16 уровень 17 уровень 18 уровень 19 уровень 20 уровень 21 уровень 22 уровень 23 уровень 24 уровень
Любой статус Доступные В прогрессе Решенные Решенные окончательно
  • Игра Space Invaders (13/34)

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

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

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

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

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

    Games
    0 уровень, 6 лекция
    В этой части реализуем движение корабля игрока. Учти, что корабль не должен выходить за пределы игрового поля. Чтобы корабль двигался вместе со всеми остальными объектами, необходимо вызывать метод move() в методе moveSpaceObjects() главного класса игры.
    3
    Недоступна
  • Игра Space Invaders (25/34)

    Games
    0 уровень, 6 лекция
    Сейчас подготовим возможность стрельбы для игрока. Для этого нам нужен метод fire, который будет создавать пули. Хранить их будем в списке playerBullets. Добавь отрисовку пуль в метод drawScene, а их движение — в метод moveSpaceObjects. Осталось только реализовать выстрел по нажатию клавиши. Этим м
    3
    Недоступна
  • Игра Space Invaders (27/34)

    Games
    0 уровень, 6 лекция
    Переопределим метод уничтожения для вражеского корабля. Он устанавливает значение false полю isAlive и задает матрицы для анимации уничтожения. Также создадим в классе Ship метод isVisible(). Он будет возвращать false после того, как у "неживого" корабля отобразится вся анимация.
    3
    Недоступна
  • Игра Space Invaders (29/34)

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

    Games
    0 уровень, 6 лекция
    Давай сделаем так, чтобы анимация босса была постоянной. Для этого нам нужно добавить в метод setAnimatedView параметр isLoopAnimation, отвечающий за бесконечность анимации. Этот параметр устанавливает соответствующее значение полю loopAnimation. Если значение поля loopAnimation равно true, метод n
    3
    Недоступна
  • Игра Space Invaders (33/34)

    Games
    0 уровень, 6 лекция
    На данном этапе мы добавим в игру счет очков. За обычный корабль начислять будем 15 очков, а за босса — 100. Для подсчета очков удобнее всего использовать метод verifyHit, немного доработав его. Чтобы вести общий счет, добавим переменную score в класс SpaceInvadersGame. Будем выводить ее на экран с
    3
    Недоступна
  • 1
  • ...
  • 107
  • 108
  • 109
Обучение
  • Регистрация
  • Курс Java
  • Курс Harvard CS50
  • Курс по Android
  • Стажировка
  • Помощь по задачам
  • Цены
  • Задачи-игры
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
  • Конкурсы
О нас
  • О JavaRush
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
Видео
  • Топ-3 фичи JavaRush
  • Раздел «Курс»
  • Раздел «Помощь»
  • Раздел «Игры»
  • 3 IDE
  • Светлая тема сайта
Подписывайтесь
VisaMastercard
© 2021 JavaRush «Программистами не рождаются»
© 2021 JavaRush «Программистами не рождаются»