JavaRush /Java блог /Random UA /Новий розділ JavaRush - «Ігри»

Новий розділ JavaRush - «Ігри»

Стаття з групи Random UA
У нас чудова новина! На JavaRush з'явився новий розділ - "Ігри" , який тепер відкритий для всіх користувачів. Тут кожен із вас може написати повноцінну гру з графікою та відчути себе справжнім гейм-розробником. На даний момент розділ знаходиться на стадії бета-тестування, тому нам дуже важливо почути вашу думку про те, як зробити його ще крутішим! Пробуйте, тестуйте, залишайте відгуки та пропозиції під цим постом! Коротко про основні можливості розділу "Ігри" ви дізнаєтесь із нашого відео. Насолоджуйтесь!
Тепер пропонуємо докладніше ознайомитися з можливостями нового розділу та отримати відповіді на головні питання, які можуть виникнути під час написання завдань-ігор.

1. Як писати ігри на JavaRush

Як ви вже зрозуміли, на JavaRush з'явилася унікальна можливість - написання ігор . Вони значно більше, ніж звичайні завдання, і набагато цікавіше. Цікаво їх не лише писати, а й, гм, тестувати. Якщо ви розумієте, про що ми ;) Робота в офісі JavaRush була буквально паралізована кілька днів, коли ми почали фазу тестування задач-ігор :) Кожне завдання-гра це проект: велике завдання з двома десятками підзадач. Під час написання гри вам потрібно буде послідовно виконати їх. Коли останнє підзавдання буде зроблено, ваша гра готова. Вона буде використовувати дуже простий ігровий рушій JavaRush . Працювати з ним не складніше, ніж із консоллю. Опис ігрового рушія та приклади роботи з ним ви знайдете в цьому документі .

2. Можливості ігрового рушія

Ігрове поле ділиться ігровим рушієм на клітини. Мінімальний розмір – 3x3, максимальний – 100x100. Кожну клітинку можна розфарбувати у певний колір і написати у ній якийсь текст. Також для кожної клітини задаються розмір та колір тексту. Рушій дозволяє писати методи-обробники для таких подій як "натискання кнопок мишки" та "натискання клавіш на клавіатурі". Ще з цікавого можна відзначити можливість роботи із таймером. Детальніше про це ви дізнаєтесь із розділу «Робота з таймером». Такий «очевидний рушій» дозволяє створювати дуже цікаві ігри, у чому ви переконаєтесь самі. Бажаєте перевірити? Тоді читайте наступний пункт і починайте написання ігор.

3. Отримання доступу до гри

Щоб отримати доступ до написання ігор, вам потрібно зайти в розділ «Ігри» на сайті JavaRush, вибрати і перейти на її сторінку. Новий розділ JavaRush - «Ігри» - 1Там буде кнопка " Написати своє рішення " - натисніть її. Новий розділ JavaRush - «Ігри» - 2У вас відкриється WebIDE, в якій ви почнете працювати над першим завданням гри. Також з цього моменту підзадачі гри стануть доступними вам у Intellij IDEA, через плагін. Новий розділ JavaRush - «Ігри» - 3Якщо ви використовуєте Intellij IDEA , вам потрібно буде оновити плагін. Останню версію плагіна ви можете завантажити тут . Після оновлення плагіна відкрийте список завдань і виберіть Java Games Quest. Новий розділ JavaRush - «Ігри» - 4Далі клацніть по доступній підзадачі: у вас в проекті повинен з'явитися модуль Java Games, а в ньому - бібліотека движка і код вашої задачі. Подальші дії — такі самі, як і під час вирішення інших завдань. Ігри можна писати хоч у WebIDE, хоч у Intellij IDEA, де вам більше подобається. Але Intellij IDEA все-таки зручніше. І професійніше. Вибір за вами.

4. Публікація ігор у каталозі додатків

Коли ви закінчите писати гру, зможете опублікувати її в каталозі Ігор-і-Додатків на JavaRush. Просто натисніть кнопку «Опублікувати», і через півхвабони ваша гра додасться в розділ «Опубліковані Ігри» . Новий розділ JavaRush - «Ігри» - 5Якщо ви хочете поділитися з друзями або колегами вашої реалізації гри, немає нічого простішого. Просто надішліть їм посилання на персональну сторінку опублікованої гри і нехай грають. Реєстрація для JavaRush для цього не потрібна. Новий розділ JavaRush - «Ігри» - 6Ви як творець можете милуватися кількістю ігрових сеансів. Як кількість переглядів на YouTube. Чим більше тим краще.

5. Кастомізація ігор

Після того, як ви закінчабо писати гру, ви можете її модифікувати. Бажаєте 2048 на полі 5x5? Будь ласка. Ви ж програміст вам і клавіатуру в руки. Змінюйте гру як захочете. Ви можете додати щось нове. Наприклад, у грі Змійка змія може уповільнюватися, якщо з'їсть яблуко, поки воно ще свіже (протягом перших 5 секунд після його появи). Яблуко при цьому може змінювати колір із червоного на зелений, або ставати грушею. Або раптом ваша змія любить кроликів більше, ніж яблука. Але пам'ятайте: якщо ви додасте в гру роботу з файлуми або графікою не через ігровий рушій, вона може не опублікуватися в каталозі додатків. Не все можна запустити у браузері, чи знаєте.

6. Корисна документація

Щоб ви могли познайомитися з роботою ігрового движка JavaRush (ініціалізація гри, створення ігрового поля та робота з графікою), обробкою подій (робота з мишкою, клавіатурою та таймером), а також освіжити або дізнатися базову теорію з Java, яка стане в нагоді в написанні завдань- Ігор (перший-другий квест JavaRush) ми підготували кілька докладних документів:

7. Поширені проблеми

У мене є Linux і я використовую OpenJDK. При запуску гри компілятор видає помилку:
Error:(6, 8) java: cannot access javafx.application.Application
  class file for javafx.application.Application not found
Що робити? Наш ігровий движок використовує JavaFX, а OpenJDK вона не встановлена ​​за замовчуванням. Це потрібно виправити:
  1. У командному рядку введіть команду:sudo apt-get install openjfx

  2. Після цього зайдіть в налаштування проекту (alt+ctrl+shift+s) -> SDK's -> Classpath і натиснути праворуч на плюс. Виберіть файл jfxrt.jar. Він знаходиться у встановленій JDK шляхом: <JDK_PATH>/jre/lib/ext/jfxrt.jar

  3. Натисніть кнопку ОК.

Я маю Java 11. Не можу запустити гру. Що робити? Java 11 не має JavaFX. Тому при запуску гри компілятор не зможе скомпілювати гру, і буде помилка. Щоб вирішити цю проблему, потрібно додати JavaFX до проекту:
  1. Завантажте JavaFX Windows SDK за посиланням https://gluonhq.com/products/javafx/ .

  2. Розпакуйте завантажений архів у будь-яку папку (бажано в папку lib проекту Games).

  3. Відкрийте IDEA.

  4. У IDEA зайдіть у меню File -> Project Structure (Файл -> Структура проекту).

  5. Виберіть вкладку Libraries (Бібліотеки) та натисніть + -> Java.

    Новий розділ JavaRush - «Ігри» - 7
  6. Вкажіть шлях до розпакованої папки javafx-sdk та виберіть папку lib

    Новий розділ JavaRush — «Ігри» - 8
  7. Далі натисніть OK і в новому вікні додайте JavaFX до модуля Games.

    Новий розділ JavaRush - «Ігри» - 9
  8. Тепер має з'явитися нова бібліотека, натисніть кнопку Застосувати -> ОК.

    Новий розділ JavaRush - «Ігри» - 10
  9. Для коректного запуску відкрийте меню Run-> Edit Configuration і пропишіть у полі VM options команду:

    Новий розділ JavaRush - «Ігри» - 11
    --module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
    Новий розділ JavaRush - «Ігри» - 11
  10. Далі в цій вкладці потрібно додати Application. Для цього натисніть + -> Application

    Новий розділ JavaRush - «Ігри» - 12
    1. Виберіть модуль Games
    2. Пропишіть шлях до головного класу (в даному випадку - SnakeGame)
    3. Додати поле VM options
    4. Новий розділ JavaRush - «Ігри» - 13
    5. Пропишіть VM options так само, як у пункті 9.

    Натискайте Застосувати -> ОК

    Новий розділ JavaRush - «Ігри» - 14
  11. Запускайте гру.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ