1. Как да пиша игри на CodeGym
Както знаете, CodeGym въведе нова функция: писане на игри . Тези задачи са значително по-големи от нормалните задачи и много по-интересни. Те са интересни не само за писане, но и за тестване. Разбирате за Howво говорим ;) Работата в офисите на CodeGym буквално спря за няколко дни, когато започнахме тестването на игровите задачи :) Всяка игрова задача е проект: голяма задача с двадесет подзадачи. Когато пишете игра, трябва да ги завършите по ред. Когато последната подзадача е изпълнена, вашата игра е готова. Той ще използва много простия двигател на играта на CodeGym . Работата с него не е по-трудна от работата с конзолата. В този document ще намерите описание на двигателя на играта и примери How да го използвате .2. Характеристики на двигателя на играта
Игралното поле е разделено на клетки от двигателя на играта. Минималният размер е 3x3; максимумът е 100х100. Всяка клетка може да се боядиса в определен цвят и да се напише текст в нея. Размерът и цветът на текста също могат да бъдат зададени за всяка клетка. Енджинът позволява писането на манипулатори на събития за щраквания с мишката и натискания на клавиши. Друго интересно нещо е възможността за работа с таймер. Научете повече в раздела "Работа с таймер". Нашият "очевиден" двигател за игри ви позволява да създавате много интересни игри - нещо, което ще видите сами. Искам да опитам? След това прочетете следващия параграф и започнете да пишете игри.3. Достъп до игра
За да започнете да пишете игра, отидете в секцията „Игри“ на уебсайта на CodeGym, изберете някоя, която харесвате, и отидете на нейната page. Ще има бутон „ Напиши решение “ — щракнете върху него. Web IDE ще се отвори. Там ще започнете да работите по първата подзадача на играта. Нещо повече, подзадачите на играта ще бъдат достъпни за вас в IntelliJ IDEA чрез плъгина. Ако използвате IntelliJ IDEA , ще трябва да актуализирате приставката. Можете да изтеглите последната version на плъгина тук . След като актуализирате приставката, отворете списъка със задачи и изберете „Java Games Quest“. След това щракнете върху наличната подзадача: във вашия проект трябва да се появи модул „Игри на Java“ и той трябва да съдържа библиотеката на двигателя и codeа за вашите подзадачи. След това е точно като решаването на всяка друга задача. Можете да пишете игри в Web IDE or в IntelliJ IDEA, което ви харесва повече. Все пак IntelliJ IDEA е по-удобен. И по-професионално. Изборът е твой.4. Публикуване на игри в каталога на applicationsта
Когато приключите с писането на игра, можете да я публикувате в каталога „Игри и applications“ на CodeGym. Просто натиснете бутона "Публикуване" и след половин minutesа вашата игра ще бъде добавена в секцията "Публикувани игри". Ако искате да споделите вашата реализация на играта с приятели or колеги, нищо не може да бъде по-лесно. Просто им изпратете връзка към публикуваната игра и те могат да играят. Не е необходима регистрация в CodeGym. Като създател, можете да се насладите на това колко пъти другите играят вашата игра. Също като броя гледания в YouTube. Колкото по-голям, толкова по-добре.5. Персонализиране на играта
След като приключите с писането на игра, можете да я промените. Искате ли да играете 2048 на дъска 5x5? Продължавай. Вие сте програмист — и имате клавиатура на върха на пръстите си. Променете играта Howто желаете. Можете да добавите нещо съвсем ново. Например в Snake змията може да се забави, ако изяде прясна ябълка (в рамките на 5 секунди след появата на ябълката). Освен това ябълката може да промени цвета си от червено на зелено or да стане круша. Или може би вашата змия обича зайци повече от ябълки... В Minesweeper можете да дадете втори живот на играча or може би атомна бомба, която "осветява" клетки в радиус от няколко клетки. Но не забравяйте, че ако работите с файлове or графики в игра, без да използвате двигателя на играта, играта може да не бъде публикувана в каталога на applicationsта. Не всичко може да се стартира в браузър, знаете.6. Полезна documentация
Подготвихме някои задълбочени documentи, за да ви помогнем да се запознаете с двигателя на играта CodeGym (инициализиране на играта, създаване на игрално поле и работа с графики), обработка на събития (работа с мишка, клавиатура и таймер) и опресняване or научете основната теория на Java, която ще намерите, когато пишете игри (първи и втори мисия на CodeGym):- Раздел „Игри“ в CodeGym: Описание на двигателя на играта
- Раздел „Игри“ в CodeGym: Обработка на събития
- Раздел „Игри“ в CodeGym: Полезна теория
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) -> SDKs -> Classpath и щракнете върху знака плюс вдясно. Изберете file jfxrt.jar. Той се намира в инсталирания JDK на address: <JDK_PATH>/jre/lib/ext/jfxrt.jar
-
Натиснете OK.
-
Изтеглете JavaFX Windows SDK от https://gluonhq.com/products/javafx/ .
-
Разопаковайте изтегления архив във всяка папка (за предпочитане в папката lib на проекта Games).
-
Отворете IDEA.
-
В IDEA отидете на Файл -> Структура на проекта.
-
Изберете раздела Библиотеки и щракнете върху + -> Java.
-
Посочете пътя до разопакованата папка javafx-sdk и изберете папката lib
-
Натиснете OK. След това в новия прозорец добавете JavaFX към модула Games.
-
Сега трябва да се появи нова библиотека. Щракнете върху Приложи -> OK.
-
За да стартирате играта правилно, отворете Run-> Edit Configuration и въведете следното в полето VM options:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
-
След това трябва да добавите приложението в този раздел. За да направите това, щракнете върху + -> Приложение
-
-
Изберете модул Игри
-
Въведете пътя до главния клас (в този случай —
SnakeGame
) -
Въведете същите VM опции като в точка 9.
Щракнете върху Приложи -> OK
-
-
Стартирайте играта.