有没有办法在cmd窗口中自动断行?

时间:2015-08-15 12:33:28

标签: java

我和我的朋友写了一个简单的(但很长)基于文本的游戏,该游戏在Windows命令提示符下播放。问题是,cmd窗口不像Microsoft Word中那样包含任何类型的自动换行符,因此使游戏无法播放。如果我不是很清楚,这就是现在游戏如何发挥的一个例子:

You wake up in a dark room. Wherev
er you look, you can't see anythin
g. You try to move, but you can't;
your hands are tied down by the lo
oks of it.

有什么简单的方法可以解决这个问题吗?游戏超过2000行,因此我们可能永远无法一个一个地修复句子。

编辑:为了弄清楚,我想要实现的目标如下:

You wake up in a dark room.
Wherever you look, you can't see
anything. You try to move, but
you can't; your hands are tied
down by the looks of it.

3 个答案:

答案 0 :(得分:3)

通常,宽度为72的线条用于使文本易于阅读,因此我建议坚持这一点而不是试图计算出文本终端的宽度。要实现正确的换行,最好的选择是依赖Apache WordUtils,它包含wrap方法。或者(如果您不想仅为此下载另一个JAR),只需将其实现复制到您的项目中:

MyModel.build(name: 'Bob', something_not_defined: 'Some string')

答案 1 :(得分:2)

一个非常简单的例子。在你的情况下,你可能需要存储你的输入,直到换行的地方等,但我希望你得到基本的想法......

document.getElementById("button").style.backgroundImage = "url('http://image/1917/crossn.png')";
    button.style.backgroundRepeat = "no-repeat";

至于包装本身,我会从Apache Commons lang中提到已经提到的WordUtils。应该够简单。

答案 2 :(得分:0)

这不是实际的java问题,正如标记所暗示的那样,但如果您使用System.out作为输出, 你可以:

  1. 更改窗口cmd宽度以满足您的需求
  2. 根据this链接,动态获取cmd宽度。 然后,创建一个类的对象,它将是您的输出处理程序。获取宽度并将其另存为字段。然后,只要你想要一个输出,就调用它的方法,这会自动为你的字符串添加换行符,然后调用redirect到system.out。