2017-11-14 12 views
-2

블로그 게시물 this을 읽은 후, 해결하기 위해 A * 알고리즘을 사용하기 위해 Java에서 미로를 만드는 데 사용하기로 결정했습니다. 미로 생성은 잘 작동합니다. Java & 제 목적으로 코드를 약간 수정했습니다.Java - 재귀 Backtracking Maze에서의 문제

시작했을 때 불행히도 생각하지 않았지만 예제에서는 ASCII로 인쇄합니다. 나는 경로 발견을 위해 사용할 1과 0을 가진 2 차원 배열이되도록하고 싶다.

___________________ 
| | _ |_ |_ | 
| | | _| _| | | 
|___| |_ | | | | | 
| ___| _| |___| | 
|_ |_ | _| ___| 
| |_____| ___| | 
|  _| | ___| | 
| | |_| _| | | _| 
|_|_________|_____| 

나는 또한이 GUI에 미로를 그릴 수있다 : 폭 & 높이 = 10, 그것은 다음과 같이 보일 것입니다 경우

현재는 예를 들어, 문자를 인쇄합니다. 이것은 하나 (따라서, 1)의 좌측 하단에 그 (1, 90도 시계 반대 방향이 회전)과 같다 :

10x10 Maze

I 현재 ASCII 미로는 2 개 차원의 문자열 배열에 추가되지 않은 . 어레이 내의 문자열의 가능한 값은 :

" ", 
"_", 
" ", 
" _", 
" |", 
"_ ", 
"__", 
"_|", 

이 미로를 포함하는 배열을 반복하는 방법, 그리고 할당 것 다음 문자가 ASCII 미로에있는 내용에 따라 1 또는 0? 그렇다면, 수평선 위의 추가 공간을 어떻게 설명 할 것인가? 그것은 열린 공간으로 인식되지 않을 것인가?

+0

@ErwinBolwidt 당신이 아래 단락을 읽고, 또는 그것의 어떤 그 문제에 관해서나요 (0 위 0) '에서'

  • ''(1 위) '█'? 내 질문에 게시해야하는 코드가 확실하지 않습니다. I️는 현재 I how의 현재 상태를 게시 할 수 있지만, 실제로는 "수평선 위에있는 공간을 1로 추가 할 수 있지만 그 중 하나를 가져야합니다."라는 질문에 추가되는 것처럼 보이지 않습니다. 그리고 그 위의 공간입니다. " –

  • +0

    그래서 현재 코드를 변경하고"미로가 포함 된 배열을 반복 할 수있는 방법이 있을지 물어보고 다음을 기반으로 1 또는 0을 할당합니다. 문자가 ASCII 미로에 있습니까? " 코드를 보지 않고 현재 질문 한 내용을 파악하는 것은 어렵습니다. –

    답변

    1

    다만, 다음

    • '_'로 변환 할 수 있습니다 내부적으로 높이를 두 배로 '▄'(1 위 0)
    • '|' 에