TilePuzzle 샘플: C#과 C++ 간의 상호 운용성
업데이트: 2007년 11월
TilePuzzle 샘플에서는 몇 가지 중요한 Visual C++ 기능을 보여 줍니다.
이 샘플은 C++, C# 및 새로운 COM 관련 특성 등의 몇 가지 새로운 기술을 사용하여 구현된 구성 요소로 구성되어 있습니다.
이 샘플에서는 C++ 및 C#으로 작성된 관리되는 구성 요소와 C++에서 COM 특성을 사용하여 작성된 네이티브 구성 요소 간의 상호 운용성을 보여 줍니다.
이 샘플은 타일 퍼즐이라는 기본적인 퍼즐 게임을 구현합니다. 샘플에서는 비트맵을 로드한 다음 사용자가 지정한 개수의 타일 조각으로 나누고 각 타일의 위치를 임의로 변경합니다. 그러면 사용자는 원래의 그림이 표시될 때까지 각 타일 조각을 상하좌우로 이동하여 퍼즐을 풉니다. 이러한 기능 외에 C++ 및 .NET Framework 클래스로 작성된 휴리스틱 검색 알고리즘을 사용하여 퍼즐을 푸는 기능도 포함되어 있습니다.
보안 정보: |
---|
이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다. |
샘플 및 이를 설치하기 위한 지침을 가져오려면
Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.
자세한 내용은 샘플 파일 찾기를 참조하십시오.
최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.
컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.
샘플 빌드 및 실행
Visual Studio를 사용하여 TilePuzzle 샘플을 빌드하고 실행하려면
Visual Studio IDE에서 솔루션 파일인 PUZZLE.sln을 로드합니다.
솔루션 탐색기에서 PUZZLE 솔루션을 마우스 오른쪽 단추로 클릭합니다.
바로 가기 메뉴에서 솔루션 빌드를 클릭합니다.
디버그 메뉴에서 시작을 클릭합니다.
프로젝트가 성공적으로 빌드되면 퍼즐을 직접 풀어 보십시오.
샘플 아키텍처
다음은 기본 아키텍처입니다.
참고: |
---|
게임 저장 및 로드 기능은 아직 구현되어 있지 않습니다. |
관리되는 .NET Framework 개체 내에서 네이티브 COM 구성 요소에 액세스하기 위해 이 샘플에서는 TLBIMP.EXE를 사용하여 .NET Framework 프록시 dll을 생성합니다.
클래스
이 샘플에서는 다음의 클래스를 보여 줍니다.
System.Windows.Forms.Form – PUZZLE 프로젝트에 있는 AboutForm 개체를 구현합니다.
System.Object – PUZZLE 프로젝트에 있는 GameLevelEnum 개체를 구현합니다.
System.Delegate – PUZZLE 프로젝트에 있는 SolveThreadProcDlg 개체를 구현합니다.