打印雪人Ascii艺术 - 来自Codegolf(非竞争)

时间:2015-05-06 22:29:57

标签: java ascii-art

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

基本概念是创建自己的雪人并按照特定的指导方针进行打印。

无论如何,我似乎无法弄清楚如何在没有复杂情况下打印雪人的手臂,你会看到:

这是codegolf问题输出方法(其中x和y是武器):

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

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

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

我的问题是:当他们占据控制台上的垂直空间时我打算如何打印手臂以及打印手臂x之后我会被阻止将躯干打印到正确的位置:

我的代码:

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

我的输出:

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

这是自己的武器,所以你可以更好地了解问题:

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

  

X代表左臂

     

正常手臂

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

向上手臂

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

向下手臂

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

*     or   " \n " //code version
*

对不起任何错误。

如果需要代码,我会添加,但现在可能是我想知道或我需要找到另一种方式。

1 个答案:

答案 0 :(得分:1)

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

要重新定位光标,请尝试以下操作:Java gotoxy(x,y) for console applications

如果您的命令shell不支持VT100 standardbuild your own library and call it from Java.或使用稍胖的JCurses库(使用WriteConsoleOutputCharacter)。