java - 用java覆盖命令提示符中的多行
问题描述
所以我试图在java中做一个像井字游戏一样的东西。我不想在玩家每次移动时都打印一个新棋盘,而只想覆盖以前的棋盘。
示例板:
x|x|x
-+-+-
x|x|x
-+-+-
x|x|x
我在打印最后一行时尝试使用 \r ,但似乎它只回到最后一行的开头,但我想要的是第一行的开头。
解决方案
在老式的 C 语言中,这是通过一个名为 Curses 的 Unix 库完成的。所以我为 Java 诅咒库做了一个谷歌并得到了这个链接:
另一种选择可能是使用 Swing 使其成为 GUI 而不是终端程序。但是,如果您只想在终端窗口中工作,这个问题指出了几个可以帮助您的库。
基本上,您需要向终端窗口发送转义码,告诉终端该做什么。Google VT100 转义码作为我的意思的示例,但您的终端窗口可能无法模拟 VT100(Digital Equipment Corp 的旧文本终端)。所以你不能只使用 VT100 转义序列,因为它们可能不正确。相反,这些库应该查看您的 TERM 环境变量并发送正确的转义序列。
我完全不知道它们是否可以在 Windows 上工作(如果那是你的环境)。祝你好运。
推荐阅读
- excel - 仅格式化单元格中的文本片段
- python - 应用空间过滤
- oracle - Oracle xmltype 查询和更新
- react-native - React-Native-SVG “梯度不停歇”
- jquery - 对 ASMX Web 方法的 AJAX 调用不起作用
- c++ - 为什么我使用两种不同的方法读取相同的 char* 缓冲区(稍微)不同的输出?
- google-apps-script - 暂时禁用此应用的 Google 登录:此应用尚未经过 Google 验证才能使用 Google 登录
- coq - coq命令的实现
- python-3.x - 有没有办法在操作系统资源管理器中打开文件夹?
- xpath - XPath 在特定标签的任意嵌套链中选择节点