Last Canary 16일차(미로 리팩토링)

김재혁·2025년 5월 31일

현재 구조의 문제점

  • 메인경로 하나 -> 그 중간중간 막힌 가지 경로 생성 방식인데 길이 하나다 보니까 기믹넣고 하다보면 길 찾는데 시간이 너무 오래 걸릴거 같아서 유효 경로를 늘리는 방안을 생각

리팩토링 방식

  • 메인 경로중간에 나오는 막힌 가지 경로들을 임의로 몇개 선택하고 길을 만들어 다시 유효 경로로 붙게끔 설계

GenerateBranchesFromDeadEnds() 함수로 만든 가지 경로 ->

ConnectLoopsToMainPath() : 막다른 셀을 인접 메인 경로 셀에 연결하여 유효 경로 생성 (개수는 MaxLoopCount로 제한)

GenerateMaze() 함수에 최소 유효 경로를 정해주고(7개로 지정) -> 반복을 최대 30회로 제한(혹시 모를 무한 루프 방지이지만 결국에는 생성을 해야하기때문에 나중에는 제한을 없애거나 제한 개수를 늘려줘야할듯)

결과

0개의 댓글