JAVA - 我如何建立我的迷宫形状?

时间:2016-03-04 16:11:25

标签: java maze

我有一点问题,我尝试只构建这样的迷宫轮廓:

Maze

但我明白了:

My attempt

我认为是因为我的方法打印,我没有把“ln”放在我的最后一个for循环中,因为如果不是,那么破折号就会消失。

但是我想关闭迷宫的墙壁,我不知道如何从底部向上移动。

这是我的代码:

private int hauteur;

    private int largeur;
    private static final int LMURET = 8;
    private static final int HMURET = 4;
    private char[][] dessinLaby;

public void dessineMurdEnceinte()
    {   
        for(int j=0; j<(this.largeur*LMURET+1); j++)
        {
            System.out.print(this.dessinLaby[0][j] = '-');
        }

        for(int i=0; i<(this.hauteur*HMURET+1); i++)
        {
            System.out.println(this.dessinLaby[i][0] = '|');
        }

        for(int j=0; j<(this.largeur*LMURET+1); j++)
        {
            System.out.print(this.dessinLaby[(this.hauteur*HMURET+1)-1][j] = '-');
        }

        for(int i=0; i<(this.hauteur*HMURET+1); i++)
        {
            System.out.print((this.dessinLaby[i][(this.largeur*LMURET+1)-1] = '|'));
        }
    }

请你的建议,我很感激。

度过美好的一天

1 个答案:

答案 0 :(得分:1)

好的,所以你不能关闭迷宫的墙,因为你已经为你的迷宫添加了一条新线。你应该在你的第二个循环中添加另一个for循环,所以就像这样。

for(int i=0; i<(this.hauteur*HMURET+1); i++)
    {
    System.out.print("|");
    for(int j=0; j<(this.largeur*LMURET+1)-2; j++)
    {
        System.out.print(" ");
    }
        System.out.println(this.dessinLaby[i][0] = '|');
    }