Joonas' Note
Joonas' Note
MFC로 만든 미로 생성기 본문
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++ STL] binary_search, upper_bound, lower_bound 구현하기 (0) | 2020.03.19 |
---|---|
[C++ STL] sort 구현하기 (0) | 2020.03.19 |
Sublime Text 3에서 "프로시저 시작 지점" 오류 해결법 (0) | 2019.09.16 |
Chromium 빌드 (1) | 2019.05.07 |
C++ getline 공백 케이스 알아보기 (0) | 2018.11.25 |
Comments