CHaser解説(Blockly編)

第2部 チュートリアル

3章 フィールド情報を読み取る

⚠️ ネタバレ注意

各ステージの「解答例」は折りたたんであります。自分の力で挑戦してから開いてください。

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マス全部を意識する習慣をつけましょう。

この周辺情報を使えば、「上がブロックだったら別の方向に進む」といった、状況に応じた判断ができるようになります。次の章では、この情報をもとに条件分岐で行動を選ぶ方法を見ていきます。

YouTubeチャンネル

U-15プロコン舞鶴のYouTubeチャンネルを開設しました。大会の情報などを発信しています。 チャンネルを見る