旅する配膳ロボの遊び方と考え方
旅する配膳ロボは、命令を並べて料理を届けるパズルです。ロボの進む道と向きを考え、注文どおりに皿を渡しましょう。全28面を5つの章に分けて遊べます。まずは短い命令で動きを確かめ、面が進んだら、同じ動きをまとめたり、客席に合わせて動き方を変えたりしてみてください。
命令ごとの詳しい意味、ブロックの数え方、命令の変更や移動は、ゲーム内の「遊び方・ルール」にまとまっています。ここでは、盤の読み方と、行き詰まったときに見直す順序を紹介します。「遊び方」ボタンから説明へ移った後は、「ゲームに戻る」で面の目標へ戻れます。
盤を見て、届ける順序を決めよう
最初に、ロボの位置と向き、客の注文数、通れる道を見ます。「右」「左」は画面の右端や左端ではなく、ロボから見た方向です。上を向いているときの右と、下を向いているときの右では、調べる場所が変わります。曲がった直後は、盤の上の「ロボの向き」と見比べると、次の命令を決めやすくなります。
ロボ → │ 客 0/1正面の隣に客がいるときに「配る」
「直進」は1マス進む命令で、向きを変える命令は、その場で右か左を向くだけです。「配る」では移動しません。進む回数、曲がる場所、皿を渡す場所を分けて考えると、必要な命令が見えてきます。前が壁・卓・厨房・店の外なら進めないので、行けると思った道が本当に通路なのかも確認しましょう。
客の札は「届いた皿/注文」です。たとえば0/2なら、まだ届いていない2皿の注文を表します。1皿渡すと1/2、2皿渡すと2/2になります。全部の注文を満たしても、ロボの手元に皿が残ったままでは成功になりません。命令が終わるときに、注文と手元の皿の両方がそろう順序を目指します。
使える命令に合わせて組み立てる
| 考える場面 | 役に立つ命令 | 確かめること |
|---|---|---|
| 短い道を進む | 直進・向きを変える・配る | 1マスごとの位置と正面の相手 |
| 同じ動きを何度も行う | 回数くりかえす | 同じ並びが何回続いているか |
| 客席によって動きを変える | もし〜なら | 条件を調べるときの向きと場所 |
| 道や注文の状態に合わせて続ける | 〜のあいだ | 枠の中を行った後に条件が変わるか |
| 注文数を使って料理を受け取る | 注文をメモ・メモに足す・厨房で受け取る | メモに入っている数、厨房が正面にあるか |
面によって使える命令とブロックの上限が違います。まだ使えない命令を前提にせず、今の命令ボタンでできることから考えましょう。回数を指定する枠や条件の枠も1ブロック、中に入れた命令も1つずつ数えます。同じ直進を長く並べて上限に届いたら、その並びにくりかえしが見つからないかを探してみてください。
例が複数ある面では、客の場所などが変わっても、同じプログラムで配膳できる必要があります。今見えている例だけで決めず、「全例を確認」でほかの客席も確かめましょう。例ごとに命令を作り直すのではなく、条件で動きを選ぶと、ひとつの並びで対応できる場合があります。
行き詰まったときの6つのコツ
- まず短く動かす。長いプログラムを一度に完成させようとせず、最初の客へ近づくところまで並べます。「1手」で位置と向きを確かめ、そこから皿を渡す命令を足します。できた部分を少しずつつなげると、失敗した場所を見つけやすくなります。
- 曲がる前と後を分けて見る。同じ「右に待ち客」という条件でも、ロボの向きが変わると調べる相手も変わります。分かれ道で期待と違う動きをしたら、条件を調べた瞬間の向きから確認しましょう。正面に客を見つけたつもりで、横を調べていないかも見直します。
- くりかえすまとまりを小さくする。道を進んで配り、元の向きへ戻るなど、同じ並びが続くところを探します。枠に入れる前に、その並びを一度だけ動かすと、最後の向きが次の回につながるか分かります。枠の外へ出す命令まで、中へ入れてしまわないことも大切です。
- 「あいだ」の終わりを考える。前が通路でなくなる、待ち客の注文がそろうなど、枠を抜けるきっかけを先に決めます。条件を変えない動きをくりかえすと、終わらずに300ステップで止まることがあります。回数を増やす前に、何が変われば次へ進めるのかを確かめます。
- メモと皿を別々に数える。メモは注文数を覚えるための数で、今持っている皿の枚数そのものではありません。厨房で受け取る前に注文をどう集めたか、その後どの客に何皿渡すかを見比べます。メモ回くりかえす回数は枠に入ったときの数なので、枠の途中でメモを変える場合は違いに気を付けましょう。
- 直す場所をひとつに絞る。赤くなった命令と、その直前の状態を見て、進む回数か向きか条件かをひとつずつ変えます。消しすぎたら「戻す」、並びを保ったまま試したいときは「移動」や「複製」を使えます。いくつも同時に直すより、動きの違いを追いやすくなります。
よくある質問
客の隣にいるのに、皿を渡せないのはなぜ?
「配る」はロボの正面にいる客へ渡します。隣に客がいても、背中や横を向いていると渡せません。まずロボの向きを確かめます。また、注文がそろった相手へさらに配ると失敗します。今どの客が何皿待っているかを札で見てから実行しましょう。
同じ面のひとつの例では成功するのに、クリアになりません。
例が複数ある面では、同じ命令でどの例も成功することが条件です。上の例のボタンで客席を切り替え、「全例を確認」でも確かめます。うまくいかない例が見つかったら、その例で違っている場所を探し、条件で動きを変えられないか考えてみてください。
「最初から」と「戻す」は何が違いますか?
「最初から」は、並べた命令を残したままロボを面の最初の状態へ戻します。「1手戻す」は動きを1手前へ戻す操作です。一方、編集欄の「戻す」は命令を追加・削除・移動した編集を取り消します。命令を直したいのか、動きを見直したいのかで使い分けられます。
メモがあるのに、厨房で皿を受け取れません。
厨房がロボの正面にあるか、メモが0になっていないかを確かめます。受け取れるのは1回の再生で1回だけです。途中でもう一度受け取ろうとしているときは、注文をメモに集めてから厨房へ行き、まとめて受け取る並びに見直しましょう。
途中から別の面を遊んだり、続きから遊んだりできますか?
「面を選ぶ」から好きな面へ移れます。並べた命令とクリアの記録は、遊んでいるブラウザに自動保存されます。別のブラウザや端末へ移った場合や、ブラウザの保存データを消した場合には、同じ続きが表示されないことがあります。解き方に迷ったときは「その他」の「正解例を入れる」で一例を見られます。
配膳とプログラム
プログラムは、してほしいことを順序立てて伝える命令の並びです。このゲームでは、店を歩くことと皿を渡すことを別々の命令にして考えます。同じ仕事をまとめるくりかえし、状況で次の仕事を選ぶ条件、数を覚えるメモを使うと、客席や注文の違いに合わせて動かせます。料理を全部届けたら、自分の並びのどこがうまく働いたか振り返ってみましょう。
3D表示:Three.js r169(MIT License)。ライセンス全文
コメント
コメントを書く
コメントはまだありません。