加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 16:33:49 所属栏目:Java 来源:网络整理
导读:好的,这听起来好像是一个疯狂的想法 – 但是我有兴趣在纯 Java中仿效20世纪80年代风格的 roguelike game文本界面,即使用Swing或类似的. 这大概是它需要做的事情: 提供固定大小字符的固定尺寸网格作为“屏幕”(例如100 * 75) 使用适当的等宽字体,理想情况下
好的,这听起来好像是一个疯狂的想法 – 但是我有兴趣在纯 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使用五百六十个.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读