1. Написання ігор у JavaRush

Написання ігор у JavaRush

Мабуть, не існує програміста, який би не хотів писати ігри. І хоча робити це значно складніше, ніж грати в ігри, натомість мало що зрівняється з відчуттям, коли ви бачите, як гра народжується просто з-під ваших пальців.

Тому ми додали на JavaRush унікальну можливість — написання ігор. Ігри не просто істотно більші за обсягом, ніж звичайні задачі: вони ще й набагато цікавіші. Їх цікаво не тільки писати, а й тестувати. Якщо ви розумієте, про що я 😉

Офіс JavaRush був буквально паралізований кілька днів, коли ми почали фазу тестування задач-ігор 🙂

Кожна задача-гра — це проєкт, розбитий на два десятки підзадач. У процесі написання гри вам потрібно буде послідовно виконати всі підзадачі. Написавши останню підзадачу, отримаєте готову гру.

Сама гра буде використовувати ігровий рушій JavaRush. Його головна особливість полягає в тому, що він дуже простий. Працювати з ним не складніше, ніж із консоллю. Опис ігрового рушія та приклади роботи з ним дивіться нижче.


2. Короткий опис ігрового рушія

Ігровий рушій поділяє поле все ігрове поле на клітини. Мінімальний розмір 3×3, максимальний — 100×100.

Кожну клітину можна зафарбувати в певний колір і написати в ній який-небудь текст. Можна також задати розмір і колір тексту для кожної клітини.

Рушій дає змогу писати методи-обробники для таких подій, як «натискання кнопок миші» й «натискання клавіш на клавіатурі».

Ще одна гарна можливість — робота з таймером. Докладніше про це можна дізнатися з лекції «Робота з таймером».

Такий «примітивний рушій» уможливлює створення дуже цікавих ігор, у чому ви зможете переконатися самі:


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

Для того щоб задача-гра стала вам доступною, зайдіть у розділ «Ігри» на сайті, виберіть гру, яка вам подобається, і перейдіть на її сторінку. Там буде кнопка «Написати своє розв'язання» — натисніть її.

Отримання доступу до ігор JavaRush

Відкриється WebIDE, в якому ви можете розпочати роботу над першою підзадачею гри. Також із цього моменту підзадачі гри стануть доступними вам в IntelliJ IDEA (за допомогою плагіна).

Отримання доступу до ігор JavaRush

Якщо ви користуєтесь IntelliJ IDEA, відкрийте в плагіні список задач і виберіть квест «Ігри».

Тепер клацніть доступну підзадачу: у вашому проєкті має з'явитися модуль Java Games, а в ньому — бібліотека рушія та код вашої підзадачі. Далі все так само, як і з розв'язанням інших задач.

Ігри можна писати хоч у WebIDE, хоч в IntelliJ IDEA — де вам більше подобається. Але IntelliJ IDEA все-таки зручніше. І професійніше. Вибір за вами.


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

Коли ви закінчите написання гри, у вас з'явиться можливість опублікувати свою програму в каталозі Ігор і застосунків на JavaRush. Просто натисніть кнопку «Опублікувати», і за пів хвилини вашу гру буде додано в розділ «Опубліковані ігри».

Опублікувати гру можна з WebIDE:

Або з плагіна:

Якщо ви хочете поділитися своєю реалізацією гри з друзями чи колегами, немає нічого простішого. Просто надішліть їм посилання на персональну сторінку вашої опублікованої гри. Реєстрація на JavaRush для цього не потрібна.

А ще можна розшарити гру в соцмережах: для цього є кнопка «Поділитися з друзями».

А ви, як автор, можете любуватися кількістю зіграних ігор. Це майже як кількість переглядів на YouTube: що більше, то краще.


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

Закінчивши писати гру, ви можете модифікувати її як душа забажає.

Хочете 2048 на поле 5×5? Будь ласка. Ви ж програміст — вам і карти клавіатуру в руки. Змінюйте вашу гру як завгодно.

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

У Сапері можна додати друге життя гравцеві чи, наприклад, атомну бомбу, яка буде «засвічувати» комірки в радіусі кількох клітин.

Отакий вигляд має одна з популярних модифікацій гри Mars Lander: автор додав до неї телепорт.

Проте пам'ятайте, що, якщо ви додасте до гри роботу з файлами або графікою поза ігровим рушієм, вона може втратити можливість публікації в каталозі застосунків. Щоб ви знали, не все можна запустити в браузері.