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

好的,这听起来好像是一个疯狂的想法 – 但是我有兴趣在纯 Java中仿效20世纪80年代风格的 roguelike game文本界面,即使用Swing或类似的.

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

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

任何人都知道一个很好的现有解决方案,可以实现这一点?还是我从头开始一直在黑客入侵?

附:我想要纯Java的原因是它可以在沙盒小程序中运行.所以像jcurses这样的JNI解决方案可悲地排除了…..

解决方法

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

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

Curses / JNI方法也没有什么问题,尽管如果您进入Swing路线,您会获得各种各样的大型Unicode字形. Legerdemain使用五百六十个.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...