Joonas' Note

Joonas' Note

MFC로 만든 미로 생성기 본문

개발/C++

MFC로 만든 미로 생성기

2017. 10. 30. 17:57 joonas

    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 파일인데 악성코드로 의심받고 있다. 이해는 하겠는 데 억울



    Comments