この周回の決着(Ending参照)。
装備スロットの中身を、積み重なっているまとまりごとに分けたもの(前詰めなので空きセルは無い、 stacksOf)。
手持ちスロットの各セルの代表インスタンス(空きセルはundefined)。
手持ちスロットの各セルの中身の写し(空きセルは空配列、先頭が代表。SlotSystem.md 1節)。固定枠 スロットのため、配列長は常にcellCountと等しく、位置=添字が安定する(同 3節)。 スロット自体を持たないcodexでは空配列。
代表だけを返すhandでは見えない面——同じ枠に何個重なっているかは、こちらでしか数えられない。
怪我スロットの中身を、積み重なっているまとまりごとに分けたもの(stacksOf)。
今いる土地(自分が入っているcharactersスロットの持ち主)。未配置ならundefined。
保護contents保護effective今いる土地を1回探索する(Location.explore)。土地に居ない・探索できない土地ならfalse。 「自分をagentとして自分の居場所へ渡す」手順を呼び出し側に持たせないための入口。
保護stacks名指しの枠の中身を、積み重なっているまとまりごとに分けたものの写し(Slot.stacks)。宣言して いなければ空。
平らに返す口(contentsOf)と別に持つのは、1枚に2個と2枚に1個ずつを区別するため。 束ねる/ 束ねない(stackable)の決まりが守られているかは、この分かれ方でしか確かめられない。
アイテムを手持ちスロットへ入れる。手持ちが受け入れられなければ(枠の型・枠数の上限)false。
atは枠の中の位置(SlotPosition)。隙間を指せばその位置へ既存の枠を押し出して入れ、空き枠を指せば その枠へ入る(埋まっていればfalse)。省略すると最初の空き枠へ入る。
オプションat: SlotPosition保護try名指しのプロパティの実効値。宣言していなければundefined——0と区別したい問いだけが使う。
agent(プレイヤーキャラクター、GameElementDefinition.md 8.1節・11節)に対する、UI/ゲームロジック向けの型付き ビュー。Worldと同じ理由で継承ではなくラップにしている。
キャラクタの値を名前で引く口は、ここには置かない。 画面は
statusタグの付いたプロパティを 宣言順に束ねて並べる(PlayScreenView)ので、hpのような名前を知っている読み手がゲーム側に居ない。