打印雪人 Ascii 艺术 - 来自 Code Golf(非竞争性)

Printing Snowmen Ascii Art - From Codegolf (Non Competative)

您好,我目前正在尝试完成 this codegolf 拼图只是为了好玩,我并不是在尝试竞争和创造最有效的方法。我什至不打算上传我的最终方法。

基本概念是创建自己的雪人并按照特定指南打印。

无论如何,我似乎无法弄清楚如何打印雪人的手臂而不会出现复杂情况,如您所见:

这里是codegolf的题目输出方法(其中x和y是手臂):

 HHHHH
 HHHHH
X(LNR)Y
X(TTT)Y
 (BBB)

这是种子 33232124 的示例(如果您感到困惑,您可能需要阅读 post here.

   _
  /_\
\(o_O)
 (] [)>
 (   )

我的问题是: 当手臂在控制台上占据垂直 space 并且在打印手臂 x 之后,我将如何打印手臂 x 例如我是阻止在正确的位置打印躯干:

我的代码:

System.out.print(h + "\n (" + l + n + r + ")\n" + x + "(" + t + ")" + y + "\n ("+ b +")");

我的输出:

   _  
  /_\ 
 (o_O)
\
 (] [)>
 (   )

这是武器本身,所以你对问题有更好的了解:

注意:我用星号 (*) 代替空 space!

X is for Left Arm

Normal Arm

*     or   " \n<" //code version
<

Upwards Arm

\     or   " \n " //code version
* 

Downwards Arm

*     or   " \n/" //code version
/

None

*     or   " \n " //code version
*

对任何错误表示抱歉。

如果需要代码,我会添加它,但现在我想知道的是什么,还是我需要找到另一种方法。

如果您将现有答案移植到 Java,那当然是可能的。

要重新定位光标,试试这个:Java gotoxy(x,y) for console applications

如果你的命令shell不支持VT100 standard, build your own library and call it from Java. Or use the slightly fatter JCurses library (uses WriteConsoleOutputCharacter).