3

WPFカスタムコントロールの世界に飛び込んで、HexGridコントロールを設計するための最良の方法は何でしょうか?お気に入りの卓上ウォーゲームを考えてみてください。または、同じように、卓上戦争ゲームの誇り高い歴史からデザインを盗むお気に入りのビデオゲーム。

基礎となるモデルは、Mapクラスの一部として1つの重要なメソッドを公開します。

Hex GetHex(int x, int y, int z)*;

16進数には、関連するすべてのデータが含まれています(現時点では、1:1を背景色にマッピングする地形列挙です。小さいものから始めます...)。

関連する可能性のある制約:
マップのサイズは変更されず、16進データは非常に予測可能な時間に変更されます(常にユーザーの操作に直接応答します)。

理想的には、コンポーネントが拡張されてコンテナーがきれいに満たされ、XAMLで直接宣言できるようになります。

私が探しているのは、既製のコンポーネントではなく、これを構築するために必要なことの大まかな概要です。

*私はこのアドレス指定スキームにかなり賢いのですが、どうやら私はパーティーに遅れているようです。

4

2 に答える 2

1

編集:これは、16 進グリッドのサンプルがある Pete のプロジェクト ページへのリンクです。 http://blois.us/Projects.html パスファインディングと呼ばれるプロジェクトを示すパスファインディングのサンプルがあります。これは Hex Grid を持ち、おそらくマインスイーパと同じ基本コードを使用しています。私はまだそれを見ていません。これは Silverlight 3 であるため、アップグレードが必要になる場合があります。マインスイーパはかなりエレガントでした。

ラルフ

オリジナル: マインスイーパの六角形バージョンの Peter blois による Silverlight 2 のサンプルがありました。

ソースコードが含まれていました。彼は、グリッド上で measureoverride と Arrangeoverride をオーバーライドすることで、非常に洗練された方法でそれを実行しました。マウスオーバーなどはうまくいきました。コードは驚くほど少なかった。

ウェブ上でプロジェクトを見つけることができなくなりましたが、Google には、hexagon minesweeper Silverlight source code blois を検索することで古いリンクがあります。

Peter Bloisは現在、以下のアドレスにブログを持っています。

頑張って、どうなるか教えてください。私は似たようなことをするつもりです。

于 2009-10-12T01:21:45.403 に答える