Joonas' Note

MFC로 만든 미로 생성기 본문

개발/C++

MFC로 만든 미로 생성기

joonas 2017.10.30 17:57

Maze Generator in C++

 

2학년때 학교 수업으로 MFC 배우고 방학 때 심심하고 해서 미로 생성기를 만들자! 했다. (사실은 배운게 C++, MFC 밖에 없어서..)

윈도우 7 + Visual Studio 2012 로 개발한 걸로 기억한다.

미로는 생각보다 단순하게 만들 수 있다. 상/하/좌/우 중 랜덤하게 하나씩 선택해서 DFS를 하면 된다. DFS를 마치고 돌아가면서 백트래킹으로 방문한 셀들을 방문할 때 진행했던 방향의 칸을 닫으면 된다.

좀 더 자세한 설명

랜덤으로 칸을 누비면서 미로를 만들어야하다보니, 적당한 랜덤 함수를 찾고 있었다. rand()는 묘하게 랜덤하지 못한 분포라는 이야기가 있어서 메르센 트위스터 코드를 어디서 구해서 복붙했었는데, C++11 에서 내장 함수로 있었다. Aㅏ...

사실 1.4.1 버전까지 가면서 많은 버그를 수정했는데, 하나 안 고친게 있다. 
미로를 Bitmap으로 그린거라 Image로 변환해서 프린트를 하는 데, 비율이 보정 안되서 가로 100% x 세로 100% 로 늘려서 나온다. (사실 고치려고 시도도 안함)
코드 보면 'JPG로 저장' 이런것도 주석된거 보면 문제가 있어서 지운듯..


Github: https://github.com/joonas-yoon/MazeGenerator

Excutable File:  MazeGenerator.v1.4.1.zip(2014/10/9)

VS 2012에서 Release로 만든 exe 파일인데 악성코드로 의심받고 있다. 이해는 하겠는 데 억울



'개발 > C++' 카테고리의 다른 글

C++ getline 공백 케이스 알아보기  (0) 2018.11.25
C++로 작성한 레드블랙트리  (0) 2017.11.02
MFC로 만든 미로 생성기  (0) 2017.10.30
0 Comments
댓글쓰기 폼