Scratch で遊んでみよう!
Scratch とは
ラズベリーパイにインストールされている Scratch(スクラッチ)で遊んでみましょう。 Scratchは、ブロックを重ねるだけで直感的にプログラミングが学習できるソフトです。アイデア次第で、本格的なゲームを作ることができます。ラズベリーパイに無料でインストールされており、すぐに使い始めることができます。早速やってみましょう。
初めてのプログラミング
今回は、画面中央でネコが踊り続ける「Dancing Cat(踊るネコ)」のプログラムを作ってみます。3つのブロックを組み合わせるだけの最も簡単なプログラムの一つです。
「メニューボタン」→「プログラミング」→「 Scratch」を選びます。
Scratch は2つのバージョンがインストールされていますが、「Scratch」の方を使います。バージョンは 1.4 です。
【基本操作】
「ブロック」をスクリプトエリアに置くことで、スプライト(キャラクター)の動きをプログラミングしていきます。ブロックは機能ごとに分類されており、カテゴリを切り替えて使います。スプライトリストからスプライトを選んで、そのスプライトに対してスクリプトを組んだり衣装を変えたりすることができます。
コラム プログラムとスクリプトの違い
プログラムとは、コンピュータを動かすための処理手順をまとめた命令のことです。プログラムは通常、英数字の文章(ソースコード、コード)で書かれますが、Scratch はブロックを処理する順番につなげることでコンピュータに仕事をさせます。
スクリプトはプログラムの一種で、コンパイル(機械語に翻訳すること)をしないで、すぐに実行できるものを指します(ただし実行速度は遅い)。初心者はプログラムの実行と修正を何度も繰り返しますから、スクリプトは初心者向きの言語と言えます。スクリプト言語には Scratch の他に、JavaScript、PHP、Python、Ruby などがあります。
(この講義での使い分けですが、 Scratch ブロックをつなげたものは「スクリプト」、それ以外は「プログラム」と表記します)
初めてのスクリプトを作っていきます。(10)歩動かす
をスクリプトエリアに置きます。(10)歩動かす
をクリックするたびに、ネコが右に動いていきます。
簡単ですが、これも立派なプログラミングです。つまり、プログラマーがさせたい処理(スプライトを右に動かす)をコンピューターにわかる形で指示書((10)歩動かす
)を書いた(スクリプトエリアに置いた)ということです。
次に、「制御」カテゴリーのずっと
と(10)歩動かす
を合体させます。
ずっと
(10)歩動かす end
何度もクリックしなくても、自動的に(10)歩動かす
を繰り返してくれるようになりました。つまり「何度もクリックする」という面倒な動作をスクリプトにさせて、人間は楽できるようになったということです。
2つくっつけると、さらにスクリプトらしくなってきました。
設置したブロックをクリックして、プログラミングを実行してみましょう。ネコが右端に行ったまま動かなくなってしまいました。「踊り続けるネコ」という目的からすると、エラー(誤り)ということになります。エラーの修正が必要です。
スクリプトの修正のため、右上の●「停止ボタン」で終了させます。
スクリプトを修正します。まず、ネコを「ドラッグ & ドロップ」して、中央あたりに戻してやります。
ずっと
(10)歩動かす @turnright(15)度回す end
@turnright(15)度回す
を設置したブロックに合体させます。
合体したブロックをクリックしてスクリプトを実行させると、ネコが中央で回転するようになりました。「踊り続けるネコ」という目的にかなり近づいてきました。もう少しスクリプトを修正しましょう。
右上の●「停止ボタン」で終了させます。
ネコが踊っているように見せるため、「左右に反転するだけ」ボタンをクリックします。設置したブロックをクリックしてスクリプトを実行させると、ネコが飛び跳ねながら踊り続けます。3つのブロックだけで踊りをさせることができるなんて、スクリプトは面白いです。「停止ボタン」で終了させます。
データを保存するには
せっかく作ったスクリプトは保存しておきましょう。保存しておけば、後で同じスクリプトを呼び出すことができます。そして、このスクリプトを元にもっと動きを面白くしたり、もう1匹ネコを登場させたり、改造することもできるのです。
「ファイル」→「名前をつけて保存」を選ぶと「プログラムを保存ダイアログ」が表示されます。保存する場所は「 Scratch Projects」が選ばれていますから、特に理由がなければこのままでよいでしょう。「新しいファイル名」は「Dancing Cat(ダンスするネコ)」と名付けました。「OKボタン」をクリックして保存します。
コラム データ保存のタイミング
あるファイル(A)を改造して、新しいファイル(B)を作ることはよくあります。
このとき、左上の「保存」アイコンを押すと「上書き保存」されてしまい、元のデータ(A)は永遠に消えてしまうので困ってしまいます。私はこのミスを何度も繰り返しています
元のファイル(A)を開いたときに、初めに「ファイル」→「名前をつけて保存」をして、新しいファイル(B)を作ってから改造していくと、こういったミスを防ぐことができます。こうすれば元のファイル(A)を残しておくことができるのです。
「開いたらすぐに名前をつけて保存」の癖をつけておくことをおすすめします。
これで、 Scratch の簡単な説明を終わります。ブロックを積み上げていくだけで、直感的にプログラムできる Scratch の魅力を感じていただけたでしょうか。
次回は、子どもに大人気のMinecraft(マインクラフト)で遊んでみようと思います。お楽しみに!
【付録】Scratch で日本語入力できるようにする
ネコに「さようなら!」と言わせたいのですが、そのままでは日本語入力できません。設定ファイルにコードを追記しなくてはならないのですが、少し難しいです。よって、 以下の作業は、「Scratch で日本語入力したい」方だけ、挑戦してください。
左上のターミナルアイコンから「LXTeminal」を起動します。
sudo nano /usr/bin/scratch
を入力して、Enterを押します。
Scratch の設定ファイルが開かれました。9行目あたりに「VMOPTIONS = 」から始まる行があります。この行にコードを追記します。
VMOPTIONS = "-vm-sound-alpha -vm-display-x11 -compositioninput"
つまり「-vm-sound-alpha」の後に「-vm-display-x11 -compositioninput」追記してやります。
上のスクリーンショットの通りになっているか確認して、Ctrl + Xを押して、コマンドライン端末を終了させます。
確認アラートが表示されるので、Yを押す。
書き込むファイルの確認アラートが表示されるので、Enterを押す。
Scratch を起動して、ネコに「さようなら!」と言わせられれば成功です。