3章 フィールド情報を読み取る
自分がどこにいるのか、周りに何があるのかが分からなければ、うまく動くことはできません。1章・2章で学んだ「移動」や「繰り返し」は、あらかじめ決めた通りに動く命令でした。しかしCHaserは対戦相手がいるゲームなので、決め打ちの動きだけではすぐに行き詰まってしまいます。ここからは、フィールドの状況を「調べる」ためのブロックを学びます。
マスの種類と方角の名前
フィールドのマスには4種類あります。
| 名前 | 意味 |
|---|---|
| Floor | 何もない空きマス |
| Block | ブロック(岩) |
| Item | アイテム |
| Enemy | 相手プレイヤー |
また、自分を中心とした周囲の方角には、それぞれ次のような名前が付いています。
| 方角名 | 位置 |
|---|---|
| UpLeft | 左上 |
| Up | 上 |
| UpRight | 右上 |
| Left | 左 |
| Center | 中央(自分の位置) |
| Right | 右 |
| DownLeft | 左下 |
| Down | 下 |
| DownRight | 右下 |
この8方向+中央の呼び方は、これから何度も登場するので覚えておきましょう。方眼紙やノートに3×3のマス目を書いて、実際に9つの名前を書き込んでみると、頭の中の地図として定着しやすくなります。
周辺情報(map_info)を取得する
「周辺情報を取得する」ブロックを使うと、自分を中心とした周囲9マスの情報を、1回のブロックでまとめて取得できます。
取得した情報から「上のマスは何か」「左下のマスは何か」を、方角名を指定して調べることができます。上の例では、上はBlock(ブロック)、下はItem(アイテム)、左はFloor(空き)、左下はEnemy(相手)という状況を表しています。
まとめて取得する効率
もし「上だけ調べる」「下だけ調べる」というように方角ごとに別々の命令があったとしたら、8方向すべてを調べるのに8回も情報を取得する命令を実行しなければなりません。CHaserでは1回の「周辺情報を取得する」ブロックで9マス分の情報を一括して手に入れられるので、その中から必要な方角だけを選んで確認すればよく、効率的です。この「まとめて取得してから、必要な部分だけ取り出す」という考え方は、この後の近隣探査・遠方探査(5章)でも共通して登場します。
注意したいこと
- 情報を取得したタイミングと実際の状況がズレる:周辺情報は、取得したその瞬間のフィールドの状態を表すスナップショットです。取得した後で自分や相手が動くと、実際の状況は変わっているのに、古い情報のまま判断してしまうミスが起こりがちです。「今の情報はいつ取得したものか」を意識しましょう(このズレを防ぐ仕組みは7章「ターンの仕組み」で詳しく扱います)。
- 方角名のスペルミス:Up・Down・Left・Right・UpLeft・UpRight・DownLeft・DownRight・Centerは、大文字・小文字や組み合わせの順番が決まっています。ドロップダウンから選べる場合は選択肢を使い、手入力が必要な場面では正確に打つよう注意しましょう。
- 中央(Center)を自分だと勘違いして無視してしまう:周辺情報にはCenter(自分がいるマス)の情報も含まれます。通常は自分のマスなのでFloor扱いですが、状況によっては見落としがちな存在なので、9マス全部を意識する習慣をつけましょう。
この周辺情報を使えば、「上がブロックだったら別の方向に進む」といった、状況に応じた判断ができるようになります。次の章では、この情報をもとに条件分岐で行動を選ぶ方法を見ていきます。