[過去ログ] Boost総合スレ part9 (981レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
922(1): デフォルトの名無しさん [sage] 2012/04/25(水) 18:39:55.58 AAS
boost::graphについて質問です。
例えば、RPGゲームのマップ移動の最短経路を求めたいとします。
ただしマップを通過できるかどうかは条件があって、
・一定のキャラクターレベルを超えていないと通れない
・特定のアイテムを所有していないと通れない
などの条件があります。
私の考えたチープなやり方では、propertyでマップノードごとにRequireLevel、RequireItems
などを持たせて、
レベルによってグラフノードの書き換えをする関数、
DisableGraphByLevel(graph,characterInfo);
アイテムの有無によってグラフノードの書き換えをする関数、
DisableGraphByItem(graph,characterInfo);
などを処理してから、グラフに対して最短経路アルゴリズムを実行するという形です。
ただ、これだと処理後に毎回グラフを元に戻さないといけないし、
条件がより複雑なものが追加されるとこの形では対応できません。
それに第一、スマートではありません。
boostっぽく処理するにはどのように設計すればよろしいでしょうか?
924(1): 922 [sage] 2012/04/27(金) 14:45:37.73 AAS
>>923ありがとうございます。参考にして見ます。
boostを使うだけでなく、boostの中身を理解して、自分でアロケーターだとか
イテレーターとか作ってみたいと思っているのですが、
やんやんさんのように高度に詳しくなるには、どういった書籍やサイトがお勧めでしょうか?
よろしければ教えてください。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s