TilePuzzle サンプル:C# および C++ の相互運用性を示します
TilePuzzle サンプルでは、主な Visual C++ 機能の例を示します。
このサンプルのいくつかの新しいテクノロジを実装するコンポーネントで構成されます。C++、C#、および COM 関連の新しい属性。
サンプルでは、C++ および C# で記述されたマネージ コンポーネントと、COM 属性を使用して C++ で記述されたネイティブ コンポーネントとの間の相互運用性を示します。
このサンプルは、タイル パズルという基本的なパズル ゲームを実装します。 サンプルは、ビットマップを読み込み、ユーザーによって指定された任意の数のタイルに分け、ランダムな位置に配置します。 ユーザーは、タイルを動かすことによってパズルを解いて元の絵に戻します。 サンプルには、これらの機能に加えて、C++ および .NET Framework クラスで記述されたヒューリスティックな検索アルゴリズムを使用してパズルを解く機能もあります。
セキュリティに関するメモ |
---|
このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。 |
サンプルとそのインストール手順を取得するには
Visual Studio のサンプルにアクセスするには
[ヘルプ] メニューの [サンプル] をクリックします。
既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。
サンプルのビルドと実行
Visual Studio で TilePuzzle をビルドして実行するには
Visual Studio IDE で、PUZZLE.sln ソリューション ファイルを読み込みます。
ソリューション エクスプローラーで、パズル ソリューションをマウスの右ボタンでクリックします。
ショートカット メニューの [ソリューションのビルド] をクリックします。
メニューの [デバッグ、開始 クリックします。
プロジェクトが正しくビルドされたら、パズルを解いてみてください。
サンプルのアーキテクチャ
基本アーキテクチャは、次のとおりです。
注意
ゲームの保存および読み込みの機能は実装されていません。
このサンプルは、マネージ .NET Framework オブジェクトからネイティブ COM コンポーネントにアクセスするために、TLBIMP.EXE を使って .NET Framework プロキシ dll を作成します。
クラス
このサンプルでは次のクラスを使用します。
System.Windows.Forms.Form - PUZZLE プロジェクトで使用される AboutForm オブジェクトを実装します。
System.Object - PUZZLE プロジェクトで使用される GameLevelEnum オブジェクトを実装します。
System.Delegate - PUZZLE プロジェクトで使用される SolveThreadProcDlg オブジェクトを実装します。