倉庫のロボット2(繰り返しと条件)
自作ミニ言語 3 段階の 2 つ目。ことばに repeat(繰り返し)と if(もし〜なら)と while(〜のあいだ)が入りました。ロボットに命令を書いて、荷物を棚まで運ばせるゲームです。書いたプログラムがどんな形に読まれたかも見られます。
-
-
ロボット(目のある方が正面) 荷物 棚(ここへ置く) 置き終わった荷物 壁
やること:ロボットに命令を書いて、荷物を棚まで運ぶ。全部の棚に置けたら終わりです。
今回は
今回は
repeat・if・while が使えます。同じ動きを何度も書かずに済みます。
- ▶ 走らせる を押すと、下のお手本どおりに動きます。まずこれを見てください。
- 1 コマ で 1 命令ずつ。
whileは「条件を見た」のも 1 コマとして出ます。 - もどす で最初から。次の面 で別の倉庫へ。
使えることば(一覧)
| move 3 | 3 マス前へ。壁や荷物にぶつかったら止まる |
| left / right | その場で 90 度回る |
| pick | 目の前の荷物を持つ(手はひとつ) |
| drop | 目の前に置く。棚の上なら運び終わり |
| wait 2 | 2 コマ何もしない |
| # メモ | 行末までメモ(動きには関係しない) |
| repeat 4 { … } | 中身を 4 回 |
| if 条件 { … } else { … } | 条件を見て、どちらかを 1 回(else は省ける) |
| while 条件 { … } | 条件が本当のあいだ、ずっと |
| front is wall | 目の前が壁か。ほかに free(通れる)/ crate(荷物)/ shelf(棚) |
| holding | 荷物を持っているか |
| not / and / or | 条件をつなぐ(強さは not > and > or) |
▶ が今の行です
構文木(書いたものが、どんな形に読まれたか)
Python を読み込んでいます… (初回は数秒かかります)
このページは Python のコードがブラウザの中でそのまま動いています(PyScript)。 面の表も、標的の割れ方も、得点の内訳も、キーを受ける obey() も CLI 版と 1 文字も違いません。