Java-Hangman ASCII艺术奇怪的输出

时间:2017-11-02 02:42:41

标签: java text ascii-art

我开始在java中制作一个刽子手游戏 我希望能够根据用户是否得到错误的字符来调用我的方法状态 我正在测试所有状态,以确保它们正确显示 状态1和2正确显示,但不能显示3-5。

以下是代码:

public void state_1() {
        System.out.println(" \n"
                + " ------\n"
                + "|      |\n"
                + "|      O\n"
                + "|\n"
                + "|\n"
                + "|\n"
                + "|\n"
                + "|\n"
                + "|\n"
                + "|");
        System.out.println("\n"
                + "");
    }
    public void state_2() {
        System.out.println(" \n"
                + " ------\n"
                + "|      |\n"
                + "|      O\n"
                + "|      |\n"
                + "|      |\n"
                + "|      |\n"
                + "|\n"
                + "|\n"
                + "|\n"
                + "|");
        System.out.println("\n"
                + "");
    }
    public void state_3() {
        System.out.println(" \n"
                + " ------\n"
                + "|      |\n"
                + "|      O\n"
                + "|      |\n"
                + "|      |\n"
                + "|      |\n"
                + "|      |\n"
                + "|     / \\n"
                + "|    /   \\n"
                + "|   /     \\");
        System.out.println("\n"
                + "");
    }
    public void state_4() {
        System.out.println(" \n"
                + " ------\n"
                + "|      |\n"
                + "|      O  /\n"
                + "|      | /\n"
                + "|      |/\n"
                + "|      |\n"
                + "|      |\n"
                + "|     / \\n"
                + "|    /   \\n"
                + "|   /     \\");
        System.out.println("\n"
                + "");
    }
    public void state_5() {
        System.out.println(" \n"
                + " ------\n"
                + "|      |\n"
                + "|   \\  O  /\n"
                + "|    \\ | /\n"
                + "|     \\|/\n"
                + "|      |\n"
                + "|      |\n"
                + "|     / \\n"
                + "|    /   \\n"
                + "|   /     \\");
        System.out.println("\n"
                + "");
    }

这是奇怪的输出:

 ------
|      |
|      O
|
|
|
|
|
|
|



 ------
|      |
|      O
|      |
|      |
|      |
|
|
|
|



 ------
|      |
|      O
|      |
|      |
|      |
|      |
|     / \n|    /   \n|   /     \



 ------
|      |
|      O  /
|      | /
|      |/
|      |
|      |
|     / \n|    /   \n|   /     \



 ------
|      |
|   \  O  /
|    \ | /
|     \|/
|      |
|      |
|     / \n|    /   \n|   /     \

我确信有一些简单的事情要做,但我不确定,因为我知道在创建新行“\ n”之前它与\ part有问题。
如何解决这个问题是我需要你帮助的。

1 个答案:

答案 0 :(得分:4)

"\\n"在打印输出中生成文字\n

如果你想要一个\和一个换行符"\\\n",你可以在那里转义斜杠,然后输入换行符。

您也可以单独println()每行。仍然需要逃避反斜杠,但

    System.out.println();
    System.out.println(" ------ ");
    System.out.println("|      |");
    System.out.println("|      O");
    ...
    System.out.println("|    /   \\");
    System.out.println("|   /     \\");