[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 у меня, не подскажите в чем может быть проблема?