1. Як писати ігри на JavaRush
Як ви вже зрозуміли, на JavaRush з'явилася унікальна можливість - написання ігор . Вони значно більше, ніж звичайні завдання, і набагато цікавіше. Цікаво їх не лише писати, а й, гм, тестувати. Якщо ви розумієте, про що ми ;) Робота в офісі JavaRush була буквально паралізована кілька днів, коли ми почали фазу тестування задач-ігор :) Кожне завдання-гра це проект: велике завдання з двома десятками підзадач. Під час написання гри вам потрібно буде послідовно виконати їх. Коли останнє підзавдання буде зроблено, ваша гра готова. Вона буде використовувати дуже простий ігровий рушій JavaRush . Працювати з ним не складніше, ніж із консоллю. Опис ігрового рушія та приклади роботи з ним ви знайдете в цьому документі .2. Можливості ігрового рушія
Ігрове поле ділиться ігровим рушієм на клітини. Мінімальний розмір – 3x3, максимальний – 100x100. Кожну клітинку можна розфарбувати у певний колір і написати у ній якийсь текст. Також для кожної клітини задаються розмір та колір тексту. Рушій дозволяє писати методи-обробники для таких подій як "натискання кнопок мишки" та "натискання клавіш на клавіатурі". Ще з цікавого можна відзначити можливість роботи із таймером. Детальніше про це ви дізнаєтесь із розділу «Робота з таймером». Такий «очевидний рушій» дозволяє створювати дуже цікаві ігри, у чому ви переконаєтесь самі. Бажаєте перевірити? Тоді читайте наступний пункт і починайте написання ігор.3. Отримання доступу до гри
Щоб отримати доступ до написання ігор, вам потрібно зайти в розділ «Ігри» на сайті JavaRush, вибрати і перейти на її сторінку. Там буде кнопка " Написати своє рішення " - натисніть її. У вас відкриється WebIDE, в якій ви почнете працювати над першим завданням гри. Також з цього моменту підзадачі гри стануть доступними вам у Intellij IDEA, через плагін. Якщо ви використовуєте Intellij IDEA , вам потрібно буде оновити плагін. Останню версію плагіна ви можете завантажити тут . Після оновлення плагіна відкрийте список завдань і виберіть Java Games Quest. Далі клацніть по доступній підзадачі: у вас в проекті повинен з'явитися модуль Java Games, а в ньому - бібліотека движка і код вашої задачі. Подальші дії — такі самі, як і під час вирішення інших завдань. Ігри можна писати хоч у WebIDE, хоч у Intellij IDEA, де вам більше подобається. Але Intellij IDEA все-таки зручніше. І професійніше. Вибір за вами.4. Публікація ігор у каталозі додатків
Коли ви закінчите писати гру, зможете опублікувати її в каталозі Ігор-і-Додатків на JavaRush. Просто натисніть кнопку «Опублікувати», і через півхвабони ваша гра додасться в розділ «Опубліковані Ігри» . Якщо ви хочете поділитися з друзями або колегами вашої реалізації гри, немає нічого простішого. Просто надішліть їм посилання на персональну сторінку опублікованої гри і нехай грають. Реєстрація для JavaRush для цього не потрібна. Ви як творець можете милуватися кількістю ігрових сеансів. Як кількість переглядів на YouTube. Чим більше тим краще.5. Кастомізація ігор
Після того, як ви закінчабо писати гру, ви можете її модифікувати. Бажаєте 2048 на полі 5x5? Будь ласка. Ви ж програміст вам і клавіатуру в руки. Змінюйте гру як захочете. Ви можете додати щось нове. Наприклад, у грі Змійка змія може уповільнюватися, якщо з'їсть яблуко, поки воно ще свіже (протягом перших 5 секунд після його появи). Яблуко при цьому може змінювати колір із червоного на зелений, або ставати грушею. Або раптом ваша змія любить кроликів більше, ніж яблука. Але пам'ятайте: якщо ви додасте в гру роботу з файлуми або графікою не через ігровий рушій, вона може не опублікуватися в каталозі додатків. Не все можна запустити у браузері, чи знаєте.6. Корисна документація
Щоб ви могли познайомитися з роботою ігрового движка JavaRush (ініціалізація гри, створення ігрового поля та робота з графікою), обробкою подій (робота з мишкою, клавіатурою та таймером), а також освіжити або дізнатися базову теорію з Java, яка стане в нагоді в написанні завдань- Ігор (перший-другий квест JavaRush) ми підготували кілька докладних документів:- Розділ "Ігри" на JavaRush: Опис ігрового рушія
- Розділ "Ігри" на JavaRush: Обробка подій
- Розділ "Ігри" на JavaRush: Корисна теорія
7. Поширені проблеми
У мене є Linux і я використовую OpenJDK. При запуску гри компілятор видає помилку:Error:(6, 8) java: cannot access javafx.application.Application
class file for javafx.application.Application not found
Що робити? Наш ігровий движок використовує JavaFX, а OpenJDK вона не встановлена за замовчуванням. Це потрібно виправити:
-
У командному рядку введіть команду:
sudo apt-get install openjfx
-
Після цього зайдіть в налаштування проекту (alt+ctrl+shift+s) -> SDK's -> Classpath і натиснути праворуч на плюс. Виберіть файл jfxrt.jar. Він знаходиться у встановленій JDK шляхом: <JDK_PATH>/jre/lib/ext/jfxrt.jar
-
Натисніть кнопку ОК.
-
Завантажте JavaFX Windows SDK за посиланням https://gluonhq.com/products/javafx/ .
-
Розпакуйте завантажений архів у будь-яку папку (бажано в папку lib проекту Games).
-
Відкрийте IDEA.
-
У IDEA зайдіть у меню File -> Project Structure (Файл -> Структура проекту).
-
Виберіть вкладку Libraries (Бібліотеки) та натисніть + -> Java.
-
Вкажіть шлях до розпакованої папки javafx-sdk та виберіть папку lib
-
Далі натисніть OK і в новому вікні додайте JavaFX до модуля Games.
-
Тепер має з'явитися нова бібліотека, натисніть кнопку Застосувати -> ОК.
-
Для коректного запуску відкрийте меню Run-> Edit Configuration і пропишіть у полі VM options команду:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
-
Далі в цій вкладці потрібно додати Application. Для цього натисніть + -> Application
-
- Виберіть модуль Games
- Пропишіть шлях до головного класу (в даному випадку -
SnakeGame
) - Додати поле VM options
- Пропишіть VM options так само, як у пункті 9.
Натискайте Застосувати -> ОК
-
Запускайте гру.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ