gpt4 book ai didi

java - 在 Java 中并排打印 ASCII 行?

转载 作者:行者123 更新时间:2023-12-04 14:03:09 25 4
gpt4 key购买 nike

我不知道这是否是 ASCII 本身,但我真的想不出更好的术语。

所以我为字母表中的每个字母都有一个字符串作为它的程式化版本。

String asciiA = """
█████████ \r
███░░░░░███\r
░███ ░███\r
░███████████\r
░███░░░░░███\r
░███ ░███\r
█████ █████\r
░░░░░ ░░░░░\r
\r
\r
\r""";
String asciiB = """
███████████\r
░░███░░░░░███\r
░███ ░███\r
░██████████\r
░███░░░░░███\r
░███ ░███\r
███████████\r
░░░░░░░░░░░ \r
\r
\r
\r""";

像这样。

我这样做是为了当玩家按下 AB 时,这些字母的程式化版本会显示在屏幕上。但问题是即使我使用 System.out.print(); 和\r 作为字符,它们也不会显示在同一行。我认为这是因为这些是特殊字符。有谁知道方法吗?

最佳答案

这是因为当你想写你的 AB 的程式化版本时,你需要打印 A 的“第一行”,然后是 B 的“第一行”,然后是秒,等等。

所以最好的办法是(正如@johnny 建议的那样)为您的角色设置一组“线条”。喜欢:

String []asciiB = {
" ███████████ ",
"░░███░░░░░███",
...
};

然后如果您想打印 AB 以并行地逐行迭代两个数组:

for (int i=0; i<asciiA.length; i++)
System.out.println(asciiA[i]+" "+asciiB[i]);

使用从字符到打印到行数组的映射将其概括:

Map<Character,String[]> ascii = new HashMap<>();
ascii.put('A',asciiA);
...

String s = "ABCD";
for (int i=0; i<numberOfLinesPerChar; i++)
for (char c: s) {
System.out.print(ascii.get(c)[i]);
System.out.print(' '); // separator
}
System.out.println(); // end of line
}

关于java - 在 Java 中并排打印 ASCII 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69346613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com