JavaFX
Написать программу, являющуюся игрой в стиле” Duck shooter " в сочетании с TowerDefense. Во время игры слева направо и справа налево перемещаются утки разных цветов. Игра состоит в том, чтобы ”сбить” уток и не дать им попасть на другую сторону окна. Игрок стремится нажимать на утку столько раз, сколько нужно, чтобы ”сбить” его. Например, желтым объектам потребуется 1 клик, красным-5 кликов, фиолетовым-10, а розовым-20. Это примерные значения и цвета, которые вы можете свободно изменять. Цель игрока - сохранить как можно дольше чистое поле без уток. Игра заканчивается тем, что на другую сторону окна попадает более 10 уток (вы можете относиться к этому так, как если бы у игрока было 10 жизней, и каждый пропуск утки на другую сторону отнимает 1 Жизнь). Также необходимо реализовать препятствия (например, облака), которые будут покрывать цыплят и защищать их от щелчков. Вы должны предоставить полнофункциональный графический интерфейс. Командная консоль (CLI) может быть только информационной помощью, но не может быть никакого существенного взаимодействия пользователя с программой. Программа при запуске должна отображать главное меню, состоящее из опций:
* New Game - новая игра
* High Scores - таблица результатов
* Exit - выход
При запуске новой игры игроку будет предложено в отдельном окне, какую степень сложности он хочет сыграть (реализация любой степени сложности). При запуске игры в новом окне отображается игровая доска, и таймер (стоит отметить, что таймер должен быть реализован в отдельном потоке, чтобы не блокировать взаимодействие с окном). Во время игры должен быть виден счетчик очков и времени, обновляемый в реальном времени во время игры. Игра продолжается по вышеупомянутым правилам до тех пор, пока вы не потеряете все свои жизни. Вы должны предоставить возможность прервать игру в любое время с помощью выбранного вами комбинированного сочетания клавиш (Ctrl+Shift+Q), которое вернет вас в Главное меню. После завершения игры в новом окне игроку предлагается имя, под которым он должен быть сохранен в рейтинге. Ранжирование рассчитывается на основе времени и степени сложности (произвольная, собственная реализация). Вы должны обеспечить постоянство ранжирования при перезапуске приложения, то есть вы должны хранить его в файле на диске. Характер хранимых данных является второстепенным и не должен быть читаемым для игрока (можно использовать, например интерфейс Serializable). При выборе параметра ранжирования в главном меню он отображается пользователю. Поскольку окно ранжирования может быть относительно большим, необходимо позаботиться о правильном отображении ранжирования (полосы прокрутки), если оно не помещается в окно рационального размера.
Подсказки:
* Позаботьтесь об исключениях в программе. Если таковы имеются, необходимо отобразить их сообщение пользователю.
* Ранжирование должно быть выполнено с помощью компонента ListView.
* Не все окна должны быть реализованы через класс Application. С меньшими информационными окнами можно использовать диалоговые окна.
Используйте шаблон проектирования MVC в проекте. Проект должен быть выполнен с использованием технологии JavaFX!
Запрещается использовать инструменты WYSIWYG для создания окон (так называемые window / Scene Builder).
Запрещается использовать файлы FXML для разработки приложений.
Важной частью проекта является использование, в частности: наследования, коллекцию, интерфейсов или абстрактных классов, лямбда-выражений.
Актуальні фриланс-проєкти в категорії Java
Розробка Android-додатку плеєра для сервісу онлайн-ТБ
27 000 UAH
Потрібен Android-розробник для створення нативного Android-додатку для сервісу онлайн-ТБ. Планується дві версії: для мобільних пристроїв: смартфони та планшети; для Android TV / Android STB: телеприставки. Орієнтовні терміни: до 3 місяців. Орієнтовний бюджет: 150 000 грн.… Java, Розробка під Android ∙ 26 днів 4 години тому ∙ 31 ставка |