2012년 쯤 지인의 추천으로 일본 Micro Mouse 동영상을 보고, 대학 시절 만들었던 마이크로 마우스가 생각나서 Python 언어로 제작한 Micro Mouse Simulator 프로그램이다. 두 바퀴 이동체의 방정식을 사용해서 물리적 이동과 시간 계산을 하고, 실제로 물리좌표에 그리는 방식을 사용하였다.
wxPython FloatCanvas(http://wiki.wxpython.org/FloatCanvas) 모듈을 사용하여 floating point 좌표계를 사용하여 정밀하게 그리려다 보니, FloatCanvas 모듈의 드로잉 속도가 너무 느려서 Override 하여 조금 수정하여 사용하였다. 이로 인해 드로잉 속도는 빨라졌으나 확대 축소, 화면 이동, 드로잉 캔버스 이동 등에는 화면이 깨지는 현상이 발생할 수 있다.
독자적인 미로 파일 포멧을 만들고, 16x16 기본 크기와 32x32 half 미로를 지원하고, 미로 편집/저장을 지원한다.
[동영상]
일반 미로 16x16: http://www.youtube.com/watch?v=iUsBkwjv6jI
Half 미로 32x32: http://www.youtube.com/watch?v=m84Ez6tAGA0
[개발환경]
Python2.7.2.1, wxPython2.8.12.0
[소스코드]
https://github.com/jangson/maze
[소스 배포 라이센스]
GNU GPLv3: http://www.gnu.org/licenses/gpl.html
[어플리케이션]
압축해제 이후 maze.exe 파일 실행.
maze.7z
[16x16 표준 미로]
[half 32x32 미로 - Japan 2011]
실행이 되지 않을 경우 아래 의존성 파일을 참조 바랍니다. (py2exe 툴로 제작)
*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.
Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.
OLEAUT32.dll - C:\Windows\system32\OLEAUT32.dll
USER32.dll - C:\Windows\system32\USER32.dll
IMM32.dll - C:\Windows\system32\IMM32.dll
SHELL32.dll - C:\Windows\system32\SHELL32.dll
ole32.dll - C:\Windows\system32\ole32.dll
_quadpack.pyd - D:\hjkim\Apps\PortablePython2.7.2.1\App\lib\site-packages\sci
py\integrate\_quadpack.pyd
fftpack_lite.pyd - D:\hjkim\Apps\PortablePython2.7.2.1\App\lib\site-packages\
numpy\fft\fftpack_lite.pyd
WINMM.dll - C:\Windows\system32\WINMM.dll
ADVAPI32.dll - C:\Windows\system32\ADVAPI32.dll
GDI32.dll - C:\Windows\system32\GDI32.dll
MSVCP90.dll - D:\hjkim\Apps\PortablePython2.7.2.1\App\MSVCP90.dll
msvcrt.dll - C:\Windows\system32\msvcrt.dll
WS2_32.dll - C:\Windows\system32\WS2_32.dll
gdiplus.dll - D:\hjkim\Apps\PortablePython2.7.2.1\App\lib\site-packages\wx-2.
8-msw-unicode\wx\gdiplus.dll
COMCTL32.dll - C:\Windows\system32\COMCTL32.dll
KERNEL32.dll - C:\Windows\system32\KERNEL32.dll
WSOCK32.dll - C:\Windows\system32\WSOCK32.dll
WINSPOOL.DRV - C:\Windows\system32\WINSPOOL.DRV
COMDLG32.dll - C:\Windows\system32\COMDLG32.dll
RPCRT4.dll - C:\Windows\system32\RPCRT4.dll