用于roguelike游戏的纯Java文本界面

mik*_*era 9 java swing roguelike

好吧,这听起来像是一个疯狂的想法 - 但我有兴趣用纯Java 模仿20世纪80年代风格的roguelike游戏文本界面,即使用Swing或类似的东西.

这大致是它需要做的事情:

  • 提供固定大小字符的固定大小网格作为"屏幕"(例如100*75)
  • 使用适当的等宽字体,理想情况下有许多有趣的符号
  • 允许单独设置每个字符位置的前景色和背景色
  • 允许在屏幕中的任何位置打印字符串或单个字符(这应该覆盖这些位置中屏幕缓冲区中已有的内容)

任何人都知道一个好的现有解决方案,可以实现这一点 或者我是不是从头开始一起黑客攻击?

ps我想要纯Java的原因是它可以在沙盒applet中运行.所以像jcurses这样的JNI解决方案被遗憾地排除了......

Nat*_*rpe 9

根本没有疯狂,这是我在Legerdemain中实施的方法:http: //roguelikefiction.com

我使用了二维数组字符(char [] [])和相应的java.awt.Color [] []对象数组来跟踪颜色.您可以将这些数组推送到一个继承自JPanel(后者又是JFrame的一部分)的类中,并在面板的paintComponent()回调中执行所有绘制.

Curses/JNI方法没有任何问题,尽管如果你使用Swing路线,你会得到各种很棒的Unicode字形.Legerdemain使用五六百个.