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歩動く
  • 端?…じゃない


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

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

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


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

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



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

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

Scratch をインストールした(無料)

Scratch をインストールしました。

Scratch は子供でも簡単にプログラミングを楽しめるように開発された、プログラム開発・実行環境です(無料)。


Windows と Mac OS X に対応してるので、Mac 版をインストール。
…したかったんだけど、インストール方法がわからず。


ダウンロードした dmg をマウントすると、Scratch.app とサンプルとかが含まれるフォルダがあるだけ。とりあえず、このフォルダをローカルにコピー。Scratch.app をダブルクリックすると実行できたので良しとした。本当は Scratch.app を「アプリケーション」フォルダにコピーするのかな?


1.3.1 からは日本語にも対応して、日本語ネイティブな子供も楽しめるようになってる(と思う)。俺はおっさんだけど、おっさんだって楽しみたい。

[開く] ボタンを押すと、Scratch.app があるフォルダの Projects フォルダが開くみたい。あらかじめ、色々なサンプルが用意されてる。ゲームがあるのも良いね。いきなりプログラムは無理だけど、すでにある物を使ってみて興味を持てれば、それを改良することでプログラミングの楽しみもわかるハズ。

とりあえず、簡単そうな「Pong」を開いてみた。


右上の緑色の旗をクリックすることでプログラムを実行できる。
ゲームは右側の白い領域で実行される。
ゲーム自体は単純な「Pong」で、マウスで下のバーを移動させて青いボールが落ちないように跳ね返す。それだけ。

そして、プログラムは真ん中の領域。
グラフィカルなブロックと日本語で書かれた説明がプログラム。Scratch ではこのブロックを組み合わせることでプログラミングを行う。

ブロックは左側の領域に用意されている。
ブロックひとつひとつが命令で、たとえば「ボールはバーに当たったときに跳ね返る」とかを、このブロックで表す。そのために、あらかじめ様々なブロックが用意されている。


とりあえず、まだサンプルを実行しただけで、何も作ってないし、言語体系もわからないけど、ちょっとしたものなら簡単に作れそうだ。
「簡単に作れそう」と思わせてくれるので、子供でもとっつきやすそう。

ちょっとさわってみよう。



インストールしたのは…。
ScratchMacScratch1.3.1.dmg

参考にしたのは…。
子ども向けのオープンソース・プログラミング言語 - DevIT
Squeak派生の子供向けプログラミング環境「Scratch 1.3」--日本語に対応 - マイコミジャーナル

2008/12/22

Dropbox をインストールした(無料)


Dropbox をインストールしました。

Dropbox はフォルダ内のファイルを自動的に別マシンと動機してくれるアプリケーションです(無料)。


アプリケーションと言っても何か操作をするわけじゃなく、インストールするだけ。Dropbox のすごいところは「何もしなくても良い」ところ。

使い方は、Dropbox のフォルダにファイルを置くだけ。それだけ。

それだけで、自動的にサーバにファイルが UP される。そして、別のマシンで自動的にファイルが DL される。すでにあるファイルを更新しても、自動的に動機が完了する。しかも早い!! ネットワークの速度にも寄るのかもしれないけど「こちらでファイルを更新した途端に、あちらでも変わってる」くらいの感覚。一瞬で動機が完了する。


Windows ではアプリをインストールして使ってたけど、Mac にはインストールしてなかったんで(マシンが一台になったから忘れてた)、今回インストールしてみた。
すばらしいことに、Web でも全ファイルにアクセスできる(それも早い)んで、頻繁に更新するファイルを動機しないなら、アプリをインストールしなくても問題ないし。


アプリは Windows、Mac、iPhone、Linux 対応だし、ブラウザがあればファイルの UP/DOWN は可能なので、マシンを複数台使っててファイルを同期したい人は是非使用してみて! かなりオススメ。

「動機する」と言っても、ファイルは一端 Dropbox のサーバに UP されるので、容量制限がある。無料アカウントの場合は 2GB、有料の場合は 50GB。

音声や動画ファイルは別のサービスに任せて、頻繁に更新するファイルのバックアップ/同期/共有に使用するなら 2GB でも十分。しかも、自動的に更新履歴も管理してくれる♪


インストールしたのは…。
Dropbox の Dropbox 0.6.402.dmg 

2008/12/21

AirDisk をマウント中でも TimeMachine が可能になった

AirMac Exterm と USB HDD で快適 TimeMachine ライフを送れるようになって 、日々バックアップにいそしんでるんだけど不便な事が。

それは「AirDisk をアンマウントしてないと TimeMachine が動かない」こと。うちの環境に依存するものなのかはわかんないけど、やっぱりちょっと不便。

…不便だなぁ、と思ってたんだけど〜

この前の「Mac OS X 10.5.6 アップデート 」に気になる内容が。

Time Machine
  • Time Machine にバックアップディスクが見つからないと表示される問題を修正しています。
  • Time Capsule で Time Machine の信頼性が向上しています。

おっ!?
これって…

直ってる♪

バックアップボリュームに指定している AirDisk をマウント中でも、無事に TimeMachine が動作しました。

ふっ… やっぱ、バグだったか。