「コンテナ」を使うと、 ゲーム中のたくさんのデータの中から、 欲しいデータだけを絞り込んで使うことができます。
ここでは、5つのスクリプトコマンドを使います。
コンテナ設定 コンテナに入れるデータの種類を決める。 コンテナ絞り込み コンテナの中のデータを絞り込む。 コンテナ除外 コンテナから特定のデータを除外する。 コンテナソート コンテナの中のデータを並べ替える。 コンテナ選択 コンテナの中から、先頭のデータを取り出す。
※ 上記のコマンド名をクリックすると、詳しい解説を表示します。
コンテナを使ってどのようなことができるのか、下記の例を見てみましょう。
例では、信長が家臣の中で一番武力が高い武将を言い当てています。
例:コンテナを使って、武力1位の武将を取り出す
太閤立志伝5イベントソース チャプター:{ イベント:発表!武力ナンバー1の巻{ 属性:一度だけ 発生契機:評定開始時(織田信長) 発生条件:{ } スクリプト:{ 会話:(織田信長,小姓)[[評定の前に\n皆に申し伝えておくことがある]] 代入大名家A:(大名家::織田信長)//準備 コンテナ設定:(人物,カテゴリ,武将) //ここでイベント人物や町人を除くため武将に限定する //この時点で、コンテナの中には全武将960人+新武将40人の計1000人が格納される コンテナ除外:(人物,死亡フラグ,死亡) //死亡している武将を除外 コンテナ絞り込み:(人物,出現フラグ,出現済み) //出現している武将だけを残す コンテナ絞り込み:(人物,所属大名家,大名家A) //織田家の武将だけを残す //この時点でコンテナの中には、生存・出現済みで織田家に所属する武将がすべて格納されている //その人数を知りたい時は… 代入a:(コンテナカウンタ) 会話:(織田信長,小姓)[[当家に所属する武将は、現在\n<a>名おるが…]] 調査:(コンテナカウンタ)>(0) //0はあり得ないが、一応チェックしておく 分岐:(真){ コンテナソート:(人物,武力,降順) //高い順なら"降順"、低い順なら"昇順"で、並べ替えることができる コンテナ選択:(人物A,先頭) //並べ替えたコンテナのうち、先頭の項目を取ってくるコマンド 調査:(人物A)==(織田信長) 分岐:(真){ //除外で信長を除いていないので、本人のこともあり得る 会話:(織田信長,小姓)[[最も武力が高いのは…わしじゃな!\nわっはっは!]] } 分岐:(偽){ 会話:(織田信長,小姓)[[最も武力が高いのは…\n(人物A)じゃな!\n見事である!]] } } 分岐:(偽){ //織田家に誰もいないとき=あり得ない分岐 会話:(織田信長,小姓)[[寂しいことよのう…]] } 会話:(織田信長,小姓)[[では、評定に戻る!]] } } }上記の例の手順を追うと、
1.コンテナの中に「すべての人物」のデータを入れ、
2.コンテナの中を「織田家の現役武将」にデータを絞り、
3.コンテナの中を「武力の高い順」にデータを並べ替え、
4.コンテナの中の一番上にあるデータを取り出す
と、なります。
● コンテナにデータを入れる
コンテナを使うには、まず「コンテナ設定」で取り出すデータをおおまかに設定します。
コンテナ設定:(○○,△△,□□)
◎ 「○○」には、データの種類(クラス名)を入れます。
◎ 「△△」には、プロパティを入れます。
◎ 「□□」には、具体的なデータ名(条件)を入れます。
コンテナ設定の例
コンテナ設定:(城,所属大名家,織田信長) //↑織田家のすべての城をコンテナに入れる コンテナ設定:(城,城主,織田信長) //↑織田信長の居城とすべての直轄城をコンテナに入れる コンテナ設定:(忍者衆,存在,真) //↑存在するすべての忍者衆をコンテナに入れる コンテナ設定:(人物,カテゴリ,武将) //↑イベント人物や町人以外のすべての人物をコンテナに入れる
◎ 人物カテゴリの「武将」は、町人など汎用の人物ではない、固有の姓名を持つ人物という意味です。 「武士」という意味ではないことに注意してください。
● コンテナのデータを絞る
「コンテナ設定」でコンテナに入ったデータの中から、 必要のないデータを、「コンテナ絞り込み」「コンテナ除外」を使って 減らします。
「コンテナ絞り込み」は、設定したデータのみを残すコマンドです。
「コンテナ除外」は、設定したデータのみを除外するコマンドです。
コンテナ絞り込み:(○○,△△,□□) コンテナ除外:(○○,△△,□□)
◎ 書式は「コンテナ設定」と同じです。
● コンテナのデータを並べ替える
コンテナに入っているデータを、特定の条件によって並べ替えます。
並べ替えは「コンテナソート」を使います。
コンテナソート:(○○,△△,□□)
◎ 「○○」には、データの種類(クラス名)を入れます。
◎ 「△△」には、プロパティを入れます。
◎ 「□□」には、「昇順」または「降順」を入れます。
● コンテナのデータを取り出す
コンテナに入っているデータの先頭または末尾にあるデータを取り出します。
データの取り出しは「コンテナ選択」を使います。
コンテナ選択:(○○,△△)
◎ 「○○」には、代入する変数(「人物A」「大名家B」「城C」など)を入れる。
◎ 「△△」には、「先頭」または「末尾」を入れます。
● コンテナのデータを数える
コンテナに入っているデータ数を数えます。
データ数を数えるには、以下の書式を使います。
代入a:(コンテナカウンタ)
◎ 上記の例では「a」という変数に、コンテナのデータ数が入ります。