CHaser解説(Blockly編)

第2部 チュートリアル

5章 探査:近隣探査と遠方探査

⚠️ ネタバレ注意

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

5章 探査:近隣探査と遠方探査

周辺情報(map_info)で分かるのは自分のすぐ隣のマスまでです。もっと遠くまで様子を見たいときのために、CHaserには2種類の探査ブロックが用意されています。

近隣探査

「近隣探査」ブロック(ステージ名などではlookとも呼ばれます)は、指定した方向の2マス先を中心とした、周囲9マス(その方向の1〜3マス先を、横に3マス分)の情報を取得します。つまり、自分がまだ移動していない場所を、先回りして覗き見ることができます。

近隣探査
近隣探査

上の例のように「右方向を近隣探査する」を実行すると、右に2マス進んだマスを中心にした周囲9マス(右に1〜3マス先の、上下1マスずつ)の情報がまとめて手に入ります。得られた情報から「中央(2マス先のマス)はBlockか」「右上はEnemyか」のように、方角名を指定して1つずつ調べられます(実際の取り出し方は、6章で使いながら確認します)。

「先」を覗く意味

3章の周辺情報だけでは、自分の隣のマスまでしか分かりません。しかし「右に1マス進んだら、その先はブロックだらけで動けなくなってしまう」という状況を、進んでしまう前に知りたいことがあります。近隣探査ブロックを使えば、実際にはまだ動いていないのに、進もうとしている先の様子を先に確認できます。これは、6章で学ぶ「自縛(じばく)を避ける」ための重要な武器になります。

遠方探査

「遠方探査」ブロック(ステージ名などではsearchとも呼ばれます)は、指定した方向に一直線に9マス分の情報を、まとめて取得します。

遠方探査
遠方探査

遠方探査で得られる情報は、隣のマスが1番目、いちばん遠いマスが9番目、という番号で管理されています。「遠方情報の〇番目のマスが△△なら」というブロックで、「1マス先(1番目)はBlock」「5マス先(5番目)はEnemy」のように、番号を指定してその方向の遠くの様子を確認できます(実際の取り出し方は、6章で使いながら確認します)。番号は、ブロックの上で見える数字(1〜9)のとおりに、「〇マス先」と同じ数で数えます。

近隣探査と遠方探査の違いを整理する

この2つのブロックはどちらも「探査」という名前が付いていますが、調べる範囲の形がまったく違います。近隣探査は指定した方向の2マス先を中心とした「正方形(9マス)」を、遠方探査は指定した方向への「一直線(9マス)」を調べます。「周りに何があるか広く浅く知りたい」なら近隣探査、「この方向にアイテムか相手がいるか、遠くまで一気に知りたい」なら遠方探査、というように目的に応じて使い分けます。

ブロック 調べる範囲 向いている場面
近隣探査(look) 指定方向の2マス先を中心とした周囲9マス その方向に進んだ後の安全確認
遠方探査(search) 指定方向への一直線9マス 遠くのアイテムや相手を素早く見つける

注意したいこと

  • 番号を、1つずれて数えてしまう:遠方探査の結果は、1番目が「隣」、9番目が「いちばん遠い」です(ブロックの上には1〜9の数字が出ます)。「5マス先を知りたいのに4番目を指定してしまった」のように、1つずれる間違いが起こりがちです。「〇番目」は「〇マス先」と同じ数、と覚えましょう。
  • 近隣探査と遠方探査の範囲を混同する:近隣探査は正方形の範囲、遠方探査は一直線の範囲です。「遠方探査で斜め方向の情報も取れるはず」といった思い込みをしないよう注意しましょう。
  • 探査した情報を、探査した時点のまま使い続けてしまう:3章と同じく、探査結果もその瞬間のスナップショットです。何ターンも前の探査結果を使い回すと、状況が変わっていて判断がずれてしまいます。

演習問題

  1. 右方向に9マス先まで遠方探査したとき、「3マス先」の情報を取り出すには何番目を指定すればよいでしょうか。
  2. 「右に進んでも大丈夫か」を進む前に確認したい場合、近隣探査と遠方探査のどちらを使うのが適切か、理由とあわせて答えてみましょう。

近隣探査(周囲を見る)と遠方探査(一直線に遠くを見る)を使い分けることで、より先を読んだ行動ができるようになります。次の章では、この遠方探査を使って実際に行動を決めるステージに挑戦します。

YouTubeチャンネル

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