[Java] Подключаем чужие исходники в IntelliJ IDEA
По следам статьи
В статье предлагается попробовать себя в роли разработчика Рогалика (Rogue-like) - игрушки, в которых вместо графики используется ASCII символы.
Разберем, как же подключить правильно сторонние библиотеки, чтобы всё работало.
Необходимо скачать две (а не одну, как сказано в статье) библиотеки: jcurses и libjcsi
Для скачивания исходников для libjcsi понадобится SVN клиент (надо будет написать про них немного)
Или можно взять тут: http://axis.bplaced.net/wp-content/uploads/2012/10/libjcsi.zip
Качаем исходники (Source) и распаковываем их куда-нибудь. У меня это C:\JavaLib\jcurses и C:\JavaLib\libjcsi
Создаём новый модуль (или открываем старый) и добавляем туда новый класс Rogalic
.
Заходим в File -> Project Structure
Раздел Module, вкладка Dependencies.
Выбираем Create module from existing sources и жмем "..."
Жмем Next до упора и потом Finish (всё по умолчанию, все окна практически пустые)
Повторяем тоже самое для libjcsi
Теперь добавляем зависимости.
Жмем на модуль Net
и затем справа на "+" -> Module dependency
Теперь выбираем наш родной модуль и повторяем операцию. Только теперь выбираем Net
Закрываем всё. Должно получиться как-то вот так
Теперь пишем в классе Rogalic
следующее:
import java.util.ArrayList; import java.util.Properties; import net.slashie.libjcsi.CSIColor; import net.slashie.libjcsi.CharKey; import net.slashie.libjcsi.ConsoleSystemInterface; import net.slashie.libjcsi.wswing.WSwingConsoleInterface; public class Rogalic { private static Rogalic instance; private static ConsoleSystemInterface csi; private boolean stop; private int x,y; public static void main(String[] args) { Properties text = new Properties(); text.setProperty("fontSize", "15"); text.setProperty("font", "roguelike.ttf"); csi = new WSwingConsoleInterface("RogueLike", text); instance = new Rogalic(); instance.run(); } public void run() { stop = false; x = 0; y = 0; while (!stop) { csi.cls(); csi.print(x,y,'@', CSIColor.WHITE); // отрисовка игрока csi.refresh(); handleKeys(); // обработка клавиатуры } System.exit(0); } private void handleKeys(){ CharKey dir = csi.inkey(); if(dir.isUpArrow()&& (y-1 >= 0)){ y--; } if(dir.isDownArrow() && (y+1 < 25)){ y++; } if(dir.isLeftArrow() && (x-1 >= 0)){ x--; } if(dir.isRightArrow() && (x+1 < 80)){ x++; } if(dir.code == CharKey.Q){ stop = true; } } }
Запускаем!
Если всё сделано правильно, то должно появиться окно с довольной "собакой (@) - главным героем всех Рогаликов. Ну, почти всех :)
Им можно шаволить курсорными стрелками.
Нет обратных ссылок на эту запись.
Октябрь 15th, 2016 - 18:40
Добрый день, сделал все как написано в статье, но у меня не импортируются классы import net.slashie.libjcsi.CSIColor;
import net.slashie.libjcsi.CharKey;
import net.slashie.libjcsi.ConsoleSystemInterface;
import net.slashie.libjcsi.wswing.WSwingConsoleInterface;
«net» светится красным, как будто не находит откуда импортировать. IDEA 15 у меня, не подскажите в чем может быть проблема?