java - 使用 Java 在带有面板的网格中显示 ASCII 的最佳方法是什么?

标签 java roguelike

我在 Java 方面没有太多经验,但我正在尝试编写一个简单的 rogue-like 游戏来熟悉它,我只是想知道我将如何创建这样的界面:

A screen from JADE by Thomas Biskup 有没有什么明显的方法可以解决这样的问题?作为 Java 的新手,我真的不知道最好的方法是什么。

抱歉含糊不清!

谢谢

最佳答案

JDK 中没有这样的(简单的)组件 - 如果您不需要颜色,可以使用 JTextArea 来显示 ASCII-Art(在设置固定宽度的字体之后)。您需要注意不要遇到字符集问题(如果您不坚持使用 US-ASCII 7 位)。 编写一个处理彩色显示的组件(可能还有转义序列,本质上是模拟控制台窗口)不会太难,但如果您刚开始使用 Java,它可能会被证明是一个不受欢迎的挑战。

您也可以只用 Java 编写您的游戏,而将 ASCII 码显示到系统控制台(您的游戏将简单地输出到标准输出)。

编辑:可以通过将您的内部格式转换为(简单的)HTML 来实现彩色 ASCII,并且可以使用 JLabel 显示该 HTML。它可能不是最优雅的方法,但实现起来应该相当简单(而且现在的硬件速度也不应该成为这种方法的问题)。这种方法建立在您可以只使用 JLabel.setText() 并传递以 HTML 标记开头的字符串的功能之上。然后 JLabel 将整个文本解释为 HTML。

关于java - 使用 Java 在带有面板的网格中显示 ASCII 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11259904/

相关文章:

c++ - 如何使用 ncurses 库让 Player 与 Monster 交互?

java - 为什么 Java 的 nio.ByteBuffer 不是可序列化的?

java - AcquireToken 回调不起作用

java - 从叶子创建求和树

haskell - 将 map 约束表示为 ADT

python - "Confused Digger"算法运行太慢,有什么办法可以加快速度?

batch-file - 批量 Roguelike 游戏

java - 使用 FileReader 读取 Assets 文件夹中的 JSON 文件路径

java - 如何使用 Spring MVC 从 POST 请求返回 XML 响应?