作为一个初学者项目,我正在制作一个基于文本的简单游戏,该游戏在我的IDE控制台中运行。我试图让消息出现在“框”中,这些消息本质上只是包含字的消息并被ASCII边框包围。
我成功地包装了文本并添加了边框,但是我的自动换行非常不方便。句子断裂和连续性是不方便的(从空格或标点符号开始判断新行。)
public static void msg(String core) {
int lines = core.length()/100;
for(int i = 0; i < lines; i++) {
String part = core.substring((i*100), ((i+1)*100));
System.out.println("|| " + part + " ||");
}
String leftOver = core.substring(lines*100);
System.out.print("|| " + leftOver);
for(int i = 0; i < (100 - leftOver.length()); i++) {
System.out.print(" ");
}
System.out.println(" ||");
msgBreaker();
}
使用Pacer-Gram健身测试脚本作为占位符,可以生成以下内容:
我很乐意将词语切断并继续下一行,但我宁愿行不是以尴尬的空格或标点符号开始破坏垂直统一。换句话说,前三行很好,但最后三行需要调整。
我要求最简单或最有效的方法来处理这个问题。我能想到处理这个问题的所有方法都过于复杂(对于带有嵌套if语句的循环),并且可能会对游戏产生性能影响。
谢谢!