首页 > 解决方案 > 用java覆盖命令提示符中的多行

问题描述

所以我试图在java中做一个像井字游戏一样的东西。我不想在玩家每次移动时都打印一个新棋盘,而只想覆盖以前的棋盘。
示例板:
x|x|x
-+-+-
x|x|x
-+-+-
x|x|x

我在打印最后一行时尝试使用 \r ,但似乎它只回到最后一行的开头,但我想要的是第一行的开头。

标签: java

解决方案


在老式的 C 语言中,这是通过一个名为 Curses 的 Unix 库完成的。所以我为 Java 诅咒库做了一个谷歌并得到了这个链接:

堆栈溢出问题

另一种选择可能是使用 Swing 使其成为 GUI 而不是终端程序。但是,如果您只想在终端窗口中工作,这个问题指出了几个可以帮助您的库。

基本上,您需要向终端窗口发送转义码,告诉终端该做什么。Google VT100 转义码作为我的意思的示例,但您的终端窗口可能无法模拟 VT100(Digital Equipment Corp 的旧文本终端)。所以你不能只使用 VT100 转义序列,因为它们可能不正确。相反,这些库应该查看您的 TERM 环境变量并发送正确的转义序列。

我完全不知道它们是否可以在 Windows 上工作(如果那是你的环境)。祝你好运。


推荐阅读