[Java] Заготовка для Flappy Bird
На следующем уроке мы изучим как обрабатывать нажатия кнопок клавиатуры и как рисовать картинку и сможем сделать полноценную игру - Flappy Bird:
Пока что мы не умеем ни обрабатывать кнопки клавиатуры, ни рисовать картинки, но давайте заготовим все остальное чтобы на следующем уроке просто добавить туда управление и красивые картинки.
Задание:
1) Создайте класс MyPanel
- наследник от JPanel
, сделайте так чтобы он рисовал какой-нибудь геометрический объект
3) Создайте класс Main
с main
-функцией, создайте окно, добавьте на него вашу панель и убедитесь что геометрический объект отобразился
4) Создайте класс Bird
- описывающий птицу (ее координаты, ее скорость по обеим осям и т.п.):
4.1) MyPanel
должен уметь рисовать птицу, поэтому птица хранится в поле в панели
4.2) У птицы должен быть навык “нарисуй себя” (пока что простым овалом), который вызывает панель (передав туда как холст для рисования - объект графики g
)
4.3) У птицы должен быть навык “обнови свои координаты”, который тоже постоянно вызывается, при этом он должен описывать закон ускорения свободного падения (с дополнительной проверкой что если птица упала за пределы экрана - она должна вновь начать свое падение сверху)
5) Создайте класс Wall
- описывающий препятствия-стены которые должны возникать на пути птицы (координаты стены и т.п.)
5.1) MyPanel
должен уметь рисовать стены, поэтому они так же хранятся в поле в панели
5.2) Стены тоже должны уметь рисовать себя (простым прямоугольником)
5.3) Стены тоже должны обновлять свои координаты (двигаться налево)
6) Сделайте так чтобы стена создавалась со случайной высотой
7) Сделайте так чтобы стена при улетании за пределы экрана - телепортировалась направо, или, что еще лучше - удалялась а вместо нее создавалась новая случайная стена справа
8) Сделайте так чтобы стен было несколько
9) Добавьте птице метод boolean isCollided(Wall wall)
который проверяет врезалась ли птица в стену
10) Постоянно проверяйте врезалась ли птица в стену - и в те моменты времени когда это так - отрисовывайте птицу красным цветом
Если хотите - можете попробовать самостоятельно изучить как обрабатывать клавиатуру и рисовать картинки - см. прошлогоднюю статью.