引き続き「ねずみ」のお題について、「ちょろちょろ動く」、「捕まえようとすると逃げる」という表現を完成させていきます。

ねずみが「ちょろちょろ動く」の宿題はできていますか。

答え合わせ!バーンッ

答えは一緒ですか。

一緒じゃなくて大丈夫です。

それはあなたがご自身で考えたことの証明です。ご自身で導いた答えを大切にしてください。

ここまでで、ねずみが画面上を勝手に「ちょろちょろ」と動き回るプログラムができました。

では次の目標に取り掛かりましょう。

コンピュータにできること

「捕まえようとすると逃げる」という表現は、いかがでしょうか。「捕まえようとする誰か」が必要です。

その前に、僕たちがプログラムでできること、できないこと、を明らかにする基準の話をします。

コンピュータというのは、平たく言うと「メモリ」の集合体です。「メモリ」とは、これもあっさり言うと、数値や文字などに置き換えたデータを「記憶」するものです。

「デジタル」という言葉の原義は「指」であり、つまり数で示すことを意味します。

写真も、音楽も、数で表現するテクノロジーを、僕たち人類は開発しました。それでも、コンピュータにできる仕事とは、この「記憶」を書き換えていくことだけです。

コンピュータは万能に見えますが、実は文書作成ソフトも、表計算ソフトも、WEBも、全て「記憶」の読み取りや書き換えを行っているに過ぎません。

こうした物理的な原理を知っておくことは、非常に大切です。

インターフェイス

コンピュータの仕事は、「記憶」の書き換えです。

ただし、キーボードやマウス、マイクなどによって「記憶」を「入力」したり、モニターやスピーカーを使って、「記憶」を光や音に変換する「出力」したり、という作業を行ったりすることもできます。

こういった機能を「インターフェイス(接触面)」と言います。

ねずみのお題では、「捕まえようとする誰か」が必要と言いましたが、それはもちろん、ユーザー(コンピュータの使用者)が、キーボードやマウスで捕まえる(ような感じ)を表現する訳です。

難しい話に聞こえるかも知れませんが、今の話は、スクラッチを既に触っているお子さま達にとっては、感覚的に理解できる話かと思います。

大人(あるいは使う人)の理解と、子供(あるいは作る人)の理解には、大きなギャップがあるということを、僕は強く言いたかったのです。

イベントリスナー

では「捕まえようとする」は単に、ねずみに「マウスポインタで触れる」という条件にしましょう。

この表現は、スクラッチでも数少ない分かりにくい仕様のひとつです。

「仕様」という言葉は、プログラマの間で良く使われますが、「決まり事なので、あきらめましょう」というニュアンスがあります。仕様は、そのまま暗記する他ありません。ですので、回答を先に開示します。

こういう風にします。

何故、「ずっと」の中に入れるのでしょうか?それはさっきの話の「メモリ」の変化を、ずっと聞き耳を立てて、見張っているからです。

この機能を「オブザーバー(監視者)」とか、「イベントリスナー」と言います。

今日は座学になってしまいましたね。

今日のお話はここまでですが、もしできれば宿題として、「イベントリスナー」を使って、「捕まえようとすると逃げる」の表現を完成させてください。

今日の内容は、実際にブロックを組み立てた作品を、以下のリンクから見ることができます。

https://scratch.mit.edu/projects/391532793/

また明日!