眠りから覚めたエシックは 不運にも３つの驚きに迎えられます
１つめ どうも監禁されているらしい
２つめ まったく記憶がない
そして３つめ 見たことのない不思議な何かが
窓のすき間から 入ってこようとしている
彼の名前はヘッジ エシックが世界を救うのを手助けに来たのです
でもその前に ここから 脱出しなければなりません
ヘッジは手をピッキングツールに変形させると 待ち受けている難題を説明します
この牢屋の扉の錠前はどれも 同じ変わった方法で動きます
鍵穴の中には赤いダイヤルがあり １から100までの番号のついた―
100通りの位置に 合わせることができます
独房の鍵を使えば ダイヤルが正しい位置まで回り
そこでダイヤルが緑色になって 扉が開きます
でも見張りから 鍵を盗めそうにはありません
ヘッジは名案があると言います
ヘッジはエシックの命令を 実行することができるのです
エシックが 「前に５歩進んで
右折し また５歩進め」と言えば
ヘッジはその通りにします
でも それには正確な指示が必要です
「解錠せよ」とか 「すべてのダイヤル位置を試せ」では
あいまいすぎます
「ダイヤルを５目盛り進めろ」なら 大丈夫です
この独房を出られたら わずかな時間の間に
外へ通じる扉も解錠しないと 見張りに捕まってしまいます
ヘッジに効率よく扉を開けさせるには どんな指示をしたらいいのでしょう？
ビデオをいったん止めて 自分で考えてみましょう
答えを説明する前に ヒントをあげます
扉を解錠するカギとなる プログラミングの考え方は「ループ」です
これは１つないしは 複数の指示を
指定した回数だけ 繰り返し実行させるものです
「100回 上下にジャンプして」などです
あるいは ある条件を満たすまで 指示を繰り返し実行させることもできます
例えば「７時になるまで 上下にジャンプして」などです
［ビデオをいったん止めて 自分で考えてみましょう］
まず はっきりしているのは 正しいダイヤル位置が見つかるまで
ヘッジに全部試させる方法を 見つなければならないことです
それには正確にどうすればよいかは 少し頭を使う必要があります
１つの方法は ヘッジに１つずつ順に ダイヤル位置を試すよう指示することです
１に合わせて ライトを確認し
緑になったら 扉を開け そうでなければ２に合わせる
それもダメなら３に合わせる これを100まで続けます
でも この手順を全部 書き出すのは大変です
100行以上もコードを書くのは ばかげています
もし３行で済むのだとしたら
ここでループの登場です
やり方がいくつかあります
錠前のダイヤルには 100通りの位置があるので
「ダイヤルの色を確かめ ダイヤルを１目盛り進める—
というのを100回繰り返せ」と 指示することができます
ダイヤルが緑になった位置を覚えておいて 最後にそこまで戻させます
繰り返す回数を指定する このようなループを
「for ループ」と言います
でも もっと効率的な やり方があります
緑色になるまで １目盛りずつダイヤルを回させて
緑になったらすぐにやめて 扉を開けさせればいいのです
このやり方なら １の位置で解錠できたときに
ぐるりと１周する必要が なくなります
これを「until ループ」と言います
ある条件を満たす「まで」 実行するからです
これに似た別のやり方は 赤色の間はダイヤルを回し続け
そうでなくなったら やめるというものです
これは「while ループ」と言います
冒険に話を戻しましょう
ヘッジはダイヤル位置を順に試し 41の位置で錠前が開きます
エシックとヘッジは 見張りのいないときを見計らって
うまく脱出します
すぐに エシックは選択を迫られます 謎のクリスタルの中に隠れるか
外の扉の錠前も破って 逃げるかの２択です
エシックは脱出を選びます
２つめの扉には少し時間がかかり ヘッジは93まで回す必要がありましたが
開けることに成功します
ここでヘッジはエシックを 助けた理由を説明します
世界は混乱のただ中にあり
ロボットに侵略された世界を救えるのは エシックだけだというのです
そのためには
３つの強力なアイテムを 集めなければなりません
今は それが邪悪な目的に 用いられているのです
それを集めて初めて 世界を動かしている機械の大元である
巨大クリスタルのところへ行き 世界を取り戻せるのです
エシックはなんとか 脱出はしたものの...
一体 どんな冒険に 足を踏み入れてしまったのでしょう？