城の概念
城と一言で言っても3つの概念で構成されます。
ここでは、よく利用するパターンをピックアップして解説します。
使用例①
最も単純な例は、やはり全ての城をforループで回して順次処理をするというものです。
あまり「全ての城のプロパティを変更する」といったことはやらないかもしれませんが、
仕組みを理解をする上ではとても重要です。
以下は、各城が持つプロパティのほんの一部です。
使用例②
よくあるのが「特定の武将」がどこに居るのか?
といった情報と絡めて利用するシーンでしょう。
城が214の場所にあるといっても、「何番がどの城に対応するのか?」などを
覚えている人はさすがに居ないことでしょう。
そこでSDK内では、天翔記に登場する全ての城(名前の変更分も含む)がすでに
列挙定義済みとなっており、これを番号代わりに利用することができます。
使用例③
日本全国の地図は実は、「グリッド」というラインで区切られています。
1つのグリッドあたり、最大でも城は1つしか置かれていません。(城が1つも無いグリッドもたくさんあります)
使用例④
「隣接しているグリッドに存在する城が、隣接している城」です。
グリッドの場合は「斜めに隣接している」時も隣接とみなされます。
隣接しているというだけでは不十分で、「経路で繋がっていて隣接している」といった情報が欲しい場合もあります。
そういった場合には「経路隣接城番号リスト」を利用しましょう。
さらには、とある城から別の城まで一体どういう経路で辿っていくのが理想なのか?
といった情報を取得したいかもしれません。
SDKはこういった経路グラフを得ることも可能です。
詳細となるため、ここでは触れませんが、全ての城から経路グラフを得るのではなく、
特定の範囲に限定して経路グラフを得ることも可能です。
その他
城について、主な解説は以上となります。
城関連には他にも非常に多数のプロパティやメソッドがあります。
詳しくはHD.version.SDKソース内の「城.h」や「城列挙.h」を参照してみてください。