UnmappedIsland ソースリファレンス - v0.1.0
    検索インデックスを準備しています...

    クラス Combination

    相手(instrument)まで決まった組み合わせ1つ(GameElementDefinition.md 12節)。

    型は合っている(相手として受け入れ、行き先も詰まっていない)ものしか作られない。要件(14節)まで 満たしているかは引き方が分ける——WorldObject.combinationsWith は今成立するもの、 refusedCombinationsWith は理由を告げて断るもの(14.6節)。どちらなのかは unmetRequirement が答える。

    階層

    インデックス
    instrument: WorldObject

    この操作で働きかけに使われる物(11.5節)。伴わない操作には居ない(型引数がundefinedになる)。

    誰がこの操作をしていて、誰に、何を使っているか(11.5節)。問い合わせも実行も、これを張った 状態で行う——押す前に見せる分数と実際に進む分数を同じ数にするため(同節)。

    trigger: DragTrigger

    この操作を起こしたきっかけ。宣言はここからぶら下がる。

    • 自分の相手に続けてfollowers(同じ束の仲間)を重ねるとき、続けて実行できる個数(自分を含む)。 allow_multiple(12.4節)を宣言していなければ1までになる。

      落とす前に「何枚ついてくるか」を決めるための問い。枠の受け入れ個数を訊く WorldObject.acceptedCountForMoveToIncludingSelfと同じ形。

      パラメータ

      戻り値 number

    • 今このまま実行してよいか。要件(14節)を満たしているだけでなく、1個は受け取れること ——器へ入らないまま相手を消す操作(満杯の炉へ薪をくべる)が、黙って薪だけ失う結果になるのを 防ぐ(DragTrigger.acceptedCount)。

      受け取れる個数が0なのは断る理由であって、候補から外す条件ではない。 理由を宣言した要件が 同時に落ちているなら、落とし先としては残る(WorldObject.refusedCombinationsWith)。

      戻り値 boolean

    • 自分の相手に続けてfollowersに対しても、同じ宣言を繰り返す(12.4節)。

      1つ実行するたびに世界が変わるので、都度まだ成立するかを見直し、成立しなくなった時点で止める ——満杯になった炉へ薪をくべ続けて、黙って薪だけ失うことにならないように。

      戻り値: 実行できた個数。

      パラメータ

      戻り値 number

    • 実行にかかるゲーム内時間(分)。durationを省いていれば0。実行前に見せる用途にも使う。

      戻り値 number

    • この宣言が今起こすことが在るか(become の行き先に型が居る、9.9節)。無いものは候補にすら ならない——落とせるのに何も起きない、にならないため(WorldObject.candidateCombinationsWith)。

      要件(14節)も受け取れる個数も見ない。 どちらも「断る理由」になりうるので、ここで落とすと 理由が届かなくなる(ActionSystem.md 1.1節)。

      戻り値 boolean

    • 印字のときに自分を名乗る形。差分に出るのを、どの操作かの1語に留める。

      操作は素のまま深い比較へ渡されることがある(成立しないことを確かめる試験)。名乗らないと、 差分にはぶら下げている宣言と結び付けた相手が並び、赤の理由がその中に埋もれる。 名前だけを返すので、刷る側が辿る先はここで尽きる。

      戻り値 unknown

    • 相手の型も実行の時点で引き直す。 候補に選ばれてから落とされるまでに、相手が別の型になっている ことがある(become、9.9節)——宣言が要件を引き直すのと同じ理由。

      戻り値 boolean

    • 今実行できない理由(最初に落ちた要件、14節)。実行できるならundefined。

      戻り値 Requirement | undefined