0:00:29.937,0:00:37.377 眠りから覚めたエシックは[br]不運にも3つの驚きに迎えられます 0:00:37.377,0:00:40.339 1つめ[br]どうも監禁されているらしい 0:00:40.339,0:00:43.504 2つめ[br]まったく記憶がない 0:00:43.504,0:00:47.122 そして3つめ[br]見たことのない不思議な何かが 0:00:47.122,0:00:50.867 窓のすき間から[br]入ってこようとしている 0:00:50.867,0:00:56.425 彼の名前はヘッジ[br]エシックが世界を救うのを手助けに来たのです 0:00:56.425,0:00:59.956 でもその前に ここから[br]脱出しなければなりません 0:00:59.956,0:01:05.973 ヘッジは手をピッキングツールに変形させると[br]待ち受けている難題を説明します 0:01:05.973,0:01:10.623 この牢屋の扉の錠前はどれも[br]同じ変わった方法で動きます 0:01:10.623,0:01:16.781 鍵穴の中には赤いダイヤルがあり[br]1から100までの番号のついた― 0:01:16.781,0:01:19.699 100通りの位置に[br]合わせることができます 0:01:19.699,0:01:24.043 独房の鍵を使えば[br]ダイヤルが正しい位置まで回り 0:01:24.043,0:01:28.913 そこでダイヤルが緑色になって[br]扉が開きます 0:01:28.913,0:01:33.628 でも見張りから[br]鍵を盗めそうにはありません 0:01:33.628,0:01:36.765 ヘッジは名案があると言います 0:01:36.765,0:01:39.496 ヘッジはエシックの命令を[br]実行することができるのです 0:01:39.496,0:01:42.696 エシックが[br]「前に5歩進んで 0:01:42.696,0:01:46.171 右折し[br]また5歩進め」と言えば 0:01:46.171,0:01:48.813 ヘッジはその通りにします 0:01:49.723,0:01:52.844 でも それには正確な指示が必要です 0:01:52.844,0:01:57.000 「解錠せよ」とか[br]「すべてのダイヤル位置を試せ」では 0:01:57.000,0:01:58.940 あいまいすぎます 0:01:58.940,0:02:03.685 「ダイヤルを5目盛り進めろ」なら[br]大丈夫です 0:02:03.685,0:02:07.707 この独房を出られたら[br]わずかな時間の間に 0:02:07.707,0:02:12.225 外へ通じる扉も解錠しないと[br]見張りに捕まってしまいます 0:02:12.225,0:02:18.145 ヘッジに効率よく扉を開けさせるには[br]どんな指示をしたらいいのでしょう? 0:02:20.325,0:02:24.395 ビデオをいったん止めて[br]自分で考えてみましょう 0:02:25.775,0:02:30.122 答えを説明する前に[br]ヒントをあげます 0:02:30.752,0:02:37.180 扉を解錠するカギとなる[br]プログラミングの考え方は「ループ」です 0:02:37.180,0:02:40.460 これは1つないしは[br]複数の指示を 0:02:40.460,0:02:45.254 指定した回数だけ[br]繰り返し実行させるものです 0:02:46.654,0:02:50.065 「100回 上下にジャンプして」などです 0:02:50.065,0:02:55.375 あるいは ある条件を満たすまで[br]指示を繰り返し実行させることもできます 0:02:55.375,0:03:00.741 例えば「7時になるまで[br]上下にジャンプして」などです 0:03:00.781,0:03:06.068 [ビデオをいったん止めて[br]自分で考えてみましょう] 0:03:06.248,0:03:10.096 まず はっきりしているのは[br]正しいダイヤル位置が見つかるまで 0:03:10.096,0:03:14.390 ヘッジに全部試させる方法を[br]見つなければならないことです 0:03:14.390,0:03:18.520 それには正確にどうすればよいかは[br]少し頭を使う必要があります 0:03:18.520,0:03:23.800 1つの方法は ヘッジに1つずつ順に[br]ダイヤル位置を試すよう指示することです 0:03:23.800,0:03:26.505 1に合わせて ライトを確認し 0:03:26.505,0:03:32.353 緑になったら 扉を開け[br]そうでなければ2に合わせる 0:03:32.353,0:03:38.243 それもダメなら3に合わせる[br]これを100まで続けます 0:03:38.243,0:03:41.927 でも この手順を全部[br]書き出すのは大変です 0:03:41.927,0:03:44.943 100行以上もコードを書くのは[br]ばかげています 0:03:44.943,0:03:48.058 もし3行で済むのだとしたら 0:03:48.388,0:03:50.683 ここでループの登場です 0:03:50.683,0:03:53.908 やり方がいくつかあります 0:03:53.908,0:03:56.453 錠前のダイヤルには[br]100通りの位置があるので 0:03:56.453,0:04:02.424 「ダイヤルの色を確かめ[br]ダイヤルを1目盛り進める— 0:04:02.424,0:04:06.196 というのを100回繰り返せ」と[br]指示することができます 0:04:06.196,0:04:13.012 ダイヤルが緑になった位置を覚えておいて[br]最後にそこまで戻させます 0:04:13.012,0:04:17.379 繰り返す回数を指定する[br]このようなループを 0:04:17.379,0:04:20.165 「for ループ」と言います 0:04:20.165,0:04:22.347 でも もっと効率的な[br]やり方があります 0:04:22.347,0:04:27.357 緑色になるまで [br]1目盛りずつダイヤルを回させて 0:04:27.357,0:04:31.844 緑になったらすぐにやめて[br]扉を開けさせればいいのです 0:04:31.844,0:04:35.253 このやり方なら[br]1の位置で解錠できたときに 0:04:35.253,0:04:39.248 ぐるりと1周する必要が[br]なくなります 0:04:39.248,0:04:42.092 これを「until ループ」と言います 0:04:42.662,0:04:47.442 ある条件を満たす「まで」[br]実行するからです 0:04:47.442,0:04:52.211 これに似た別のやり方は[br]赤色の間はダイヤルを回し続け 0:04:52.211,0:04:54.310 そうでなくなったら[br]やめるというものです 0:04:54.310,0:04:57.292 これは「while ループ」と言います 0:04:58.042,0:04:59.930 冒険に話を戻しましょう 0:04:59.930,0:05:06.220 ヘッジはダイヤル位置を順に試し[br]41の位置で錠前が開きます 0:05:07.030,0:05:11.081 エシックとヘッジは[br]見張りのいないときを見計らって 0:05:11.081,0:05:13.620 うまく脱出します 0:05:14.480,0:05:19.947 すぐに エシックは選択を迫られます[br]謎のクリスタルの中に隠れるか 0:05:19.947,0:05:23.851 外の扉の錠前も破って[br]逃げるかの2択です 0:05:23.851,0:05:26.307 エシックは脱出を選びます 0:05:28.227,0:05:34.643 2つめの扉には少し時間がかかり[br]ヘッジは93まで回す必要がありましたが 0:05:34.643,0:05:37.303 開けることに成功します 0:05:43.871,0:05:48.741 ここでヘッジはエシックを[br]助けた理由を説明します 0:05:48.741,0:05:50.469 世界は混乱のただ中にあり 0:05:50.469,0:05:54.542 ロボットに侵略された世界を救えるのは[br]エシックだけだというのです 0:05:54.542,0:05:55.695 そのためには 0:05:55.695,0:05:58.401 3つの強力なアイテムを[br]集めなければなりません 0:05:58.401,0:06:01.823 今は それが邪悪な目的に[br]用いられているのです 0:06:01.823,0:06:04.851 それを集めて初めて[br]世界を動かしている機械の大元である 0:06:04.851,0:06:08.835 巨大クリスタルのところへ行き[br]世界を取り戻せるのです 0:06:19.685,0:06:22.525 エシックはなんとか[br]脱出はしたものの... 0:06:22.525,0:06:26.128 一体 どんな冒険に[br]足を踏み入れてしまったのでしょう?