デッキからカードをドローするコマンドを作る

デッキからカードをドローするコマンド


できれば便利との声がありましたので、調べてみましたので紹介します。
なおVASSAL3.0既存のコマンドで作成することができます。


カードに[Send To Location]を設定する。


カードに"Send To Location"を設定します。
Prototypeでカード専用のものが用意してあれば、それに設定すればOKです。
移動先として新しい手札を配置する場所を指定しておきます。
このコマンドはプレイヤーの人数分必要になります。

Grobal Key Commandを設定する。

ボタンのために、Global Key Commandを用意して、Key Commandに、上述のコマンドを割り当てます。
この段階で実行すると、Send To Locationを追加カードが、設定した場所に集まってきます。
ここでGlobal Key Commandにふたつの設定を行います。

Matching Propertiesを指定する。

この項目はKey Commandを実行する対象を絞り込むために使用します。
プログラムを記述するような形なので、少しとっつきにくいですが、
ここを指定することで、対象をデッキの中のカードに限定することができます。

CurrentMap=Main Map && CurrentBoard=Main Board && LocationName=Deck

この一行を指定するだけでOKです。
ただしMain Map, Main Board, Deckの三か所だけは、
そのモジュールで設定した名前に変更する必要があります。

名前はどれもモジュール編集画面のツリービューで確認できます。
ツリービューの各項目は

Main Map[Map Window]

のようになっています。
[]の中は、その項目の種類を表しています。その左側にあるのが名前です。

Main Mapにはデッキが含まれるMap Windowの名前
Main Boardにはデッキが含まれているMap Boardの名前
Location Nameにはそのデッキ自体の名前になります。

Within a Deck, apply toを指定する。

この項目は対象になるカードがデッキの中にある場合、どうするかを指定するものです。
選択肢は3つあります。

  1. "All Pieces"にするとすべてのカードが対象になります。
  2. "No Pieces"にするとカードを対象にしません。
  3. "Fixed number of Pieces"にすると対象のカードの枚数を指定できます。


補足


ここまでで、基本的な動作は完成ですが、少し工夫することで手間を省けます。

Markerの利用でショートカット重複を回避する


カードと他のコマで同じショートカットで別のコマンドが割り当てられていると、
Global Key Command を利用したときに、想定外の動きをしてしまいます。

そこでカードと駒にMarkerを追加して、
カードには"Type=Card"という設定をしておき、
他のコマには、たとえば"Type=Unit"を設定しておきます。

ここで設定した値は、
Grobal Key CommandのMatching Propertiesでの対象の絞り込みで利用できます。

この場合にはMatching Propertiesで設定する値は、

Type=Card && CurrentMap=Main Map && CurrentBoard=Main Board && LocationName=Deck

ということになります。

もっともデッキの中にはカードしかない気もしますが。。。。

デッキの名前


同じくMatchig Propertiesの設定ですが、もしデッキと同じ名前の場所がほかになければ、

LocationName=Deck

だけでもOKなようです。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2008年11月09日 16:44
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。