Java lanterna终端放入java.properties文件?

时间:2016-01-09 14:04:28

标签: java maze lanterna

我对编程很陌生(现在已经有了一个学期)并且我应该使用Lanterna Libary(在我的最后一个项目中)制作一个我可以在以后运行的终端简单的迷宫游戏,墙壁和静态和动态"敌人"以及玩家必须接受的一些关键物品。可悲的是,我不知道这是怎么回事。我已经在10点左右研究了这件事,但它给我带来的唯一一件事就是沮丧。

我在youtube上找到了一个教程,其中 javax.swing 用于创建一个 Konsole.add(new map())短语,该短语从中获取地图从 .txt 将整个内容读入java的类。我希望能做到这样的事情但是我说只需要 lanterna终端并从 java.properties文件中读取地图。

有可能吗?或者我必须使用完全不同的方法? 我从兰塔看了一下网站,然后把它扔了几次但却无法得到任何帮助我的东西。我还在这个网站上检查了任何包含lanterna的帖子,但它只是进一步加深了我的知识。 任何类型的提示或建议,即使它只是一个链接到另一篇文章将有助于我。

1 个答案:

答案 0 :(得分:0)

嗯,首先你必须初始化lanterna控制台,这将带来一个新的摆动窗口,代表你的lampa控制台。

兰泰尔纳

您可以使用以下内容:

//Init Lanterna terminal
Terminal terminal = TerminalFacade.createTerminal();
//Will bring up the terminal window
terminal.enterPrivateMode();
//Optional: you can hide the cursor so it wont blink
terminal.setCursorVisible(false);

现在您可以使用方法terminal.moveCursor(x, y)terminal.putCharacter(char);打印出地图。 当你终止你的程序时,你应该打电话

terminal.exitPrivateMode();

属性文件

所以你必须要做的第一件事就是读取属性文件。

String filename = ""; //Filename or filepath to your .properties file
Properties properties = new Properties();
try {
    InputStream inputStream = new FileInputStream(filename);
    properties.load(inputStream);
    inputStream.close();
} catch (java.io.IOException e) {
    e.printStackTrace();
}

要从Properties对象检索数据,您可以使用方法properties.propertyNames()properties.getProperty("PropertyName")

Enumeration<?> propertyNames = properties.propertyNames();
while (propertyNames.hasMoreElements()) {
    String name = (String) propertyNames.nextElement();
    String value = properties.getProperty(name);
    System.out.println("Name: "+name+"\tValue: "+value);
}

这将打印出.properties文件中的每个条目。您现在拥有键值对的进程,并可能将它们存储在数组或集合中。然后,您可以编写一个方法将它们打印到Lanterna控制台,您可以轻松更新它们或将它们保存回.properties文件。希望这有点帮助:))