2016-03-04 2 views
0

У меня есть небольшая проблема, я пытаюсь построить только контур лабиринта, как это:JAVA - Как я могу создать свою форму лабиринта?

Maze

Но я получаю это:

My attempt

Я думаю, что его из-за моего метода print, я не помещал «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

Ok, так что вы Арент в состоянии закрыть стену лабиринта, потому что вы уже добавили новую строку в лабиринте. Вы должны добавить еще один цикл в свою вторую петлю, чтобы это было так.

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] = '|'); 
    } 
+0

Спасибо Arachnid! он работает – Atala

+0

Добро пожаловать. Примите этот ответ, если он правильный (ударив зеленую галочку) –

+0

Выполнено, но у меня есть еще один вопрос: http://stackoverflow.com/questions/35831960/java-how-to-create-my- выходит из лабиринта – Atala

Смежные вопросы