2008/12/27

Scratch で簡単にプログラミングしてみた

Scratch をインストールしたので、簡単なプログラムを組んでみた。

「子供向け」というからには、何も知らなくても実行できるだろう。と思って前知識0で挑んでみた。結果は、おちこんだりもしたけど、わたしは元気です。じゃなくて、つまづいたりもしたけど、簡単に作れました。
といっても、俺はすでに他のプログラミング言語でプログラムを組めるので、本当に知識0の場合にも簡単かどうかは不明。たぶん、概念を理解するまで結構難しいと思う。


まず、[新規] ボタンをクリックすると、猫が一匹。
猫の名前は「スプライト1」。微妙なので名前を変更する。名前は「にゃんた」。真ん中のウィンドウの上側に猫がいて、そこに「スプライト1」と書いてあるので、その文字を「にゃんた」に変更、Enter キーで確定。すると、右下の猫の名前も「にゃんた」に変更される。
ここで、右下の「ステージ」をクリックしてみると、左側のウィンドウにいっぱいあったブロックがなくなる。「にゃんた」をクリックすると、またブロックがいっぱい。
つまり、Scratch のプログラムは、オブジェクト指向らしい。「10歩動かす」とか「15度回す」とかの動きは「ステージ」に対しては意味のない命令なので表示されないのだ。これはイイね。


さっそく、「にゃんた」を動かしてみる。
「10歩動かす」ブロックをドラッグ&ドロップ。これで、「にゃんた」が10歩あるくらしい。歩く向きは「にゃんた」が向いている方向。
ためしに「10歩動かす」ブロックをダブルクリックしてみると…一歩しかあるかないんですけど…。
この「10歩」ってのは実は「10ピクセル」のこと。真ん中のウィンドウの上側に「x:0  y:0」と書かれているのが、「10歩動かす」をダブルクリックした後は「x:10  y:0」となる。この「10」の数字を変えると、移動量が変化する。試しに「50」に変更してみると、さっきの 5 倍、移動するはず。
単に右に 10 歩動かすだけだと面白くないので、今度はこれを繰り返してみる。
左側のウィンドウの上側の [制御] ボタンをクリックすると、「ずっと」と書いてあるコの字のブロックがあるので、それをドラッグ&ドロップして、「10歩動かす」ブロックに被せる。


すると、「にゃんた」が歩く歩く。
「にゃんた」を画面の端まで歩かせることができるようになった。
同じ動きを "ずっと" 繰り返すためには「ずっと」ブロックを使うのね。


でも、これだとまだ物足りない。
「にゃんた」が右端まで移動したら、そこで終了しちゃう。すぐ終わっちゃうと面白くないので、右端まで行ったら、こんどは左端まで歩かせよう。

もう一度 [動き] ボタンを押して「にゃんた」の動きを制御するボタンを表示させる。
そうすると下の方に「もし端に着いたら、跳ね返る」ボタンが! これは端まで行ったら折り返して逆方向に向くってことだな。Scratch のプログラムは上から下へと実行されるぽいので「10歩動かす」の下に配置する。
すると、

  • 10歩動く
  • 端?…じゃない
  • 10歩動く
  • 端?…じゃない
  • 10歩動く

  • 10歩動く
  • 端?…端だ!!
  • 逆向き〜♪
  • 10歩動く
  • 端?…じゃない


と、繰り返すことになる。だから、右端まで歩いたら折り返して左端まで歩き、そこでまた折り返して右端まで歩く。を繰り返すことになる。

これで「にゃんた」が延々に右へ左へ右往左往、路頭に迷い放題じゃ。

緑の旗をクリックして、いざプログラム開始!
…開始…しない…。


どうやら、緑の旗をクリックしたときに何をするかもプログラムしなきゃいけないみたい。一番上にくっつければ、そこから下のブロックが実行される。

これで晴れて完成。
「にゃんた」が路頭に迷うプログラムを組むことができた。



ブロックを配置してプログラムを組む。ってのは思ったより直感的にプログラミングできた。ブロックも色とりどりだし説明も日本語なので、これなら本当に子供でもプログラミングを楽しむことができそう。

今回は、猫と [動き][制御] しか使わなかったけど、どんなブロックがあるかを調べて色々組み合わせると楽しいだろね。試行錯誤のしがいがあるね。