
Scratch(スクラッチ)の基本[2]|プログラムのスタートとストップ・デバッグの流れ
Scratch(スクラッチ)は、ブロックを組み合わせるだけでプログラムを作れる学習向けのプログラミング環境です。特別な事前知識がなくてもスクリプトを組み上げられる点が大きな魅力ですが、作ったプログラムをスタート(実行)してストップ(停止)する操作は、すべての基盤となる最初のステップです。この記事ではその基本操作を解説します。
プログラムはスタートさせて初めて意味をもつ
スクラッチでは、ブロックを組み合わせてスクリプトを作成することがプログラミングの本体です。しかし、どれだけ丁寧にスクリプトを組んでも、スタート(実行)させなければその動きを確認できません。
プログラムを完成させたあとは、意図した通りに動作するかをチェックする必要があります。実行した結果から修正すべき点を見つけ、スクリプトを手直しする—この繰り返しがプログラムを完成に近づける作業の核心です。
デバッグはプログラミングに欠かせない工程
スクリプトの誤りを一つずつ発見して修正していく作業を「デバッグ」と呼びます。地味で根気が必要な工程ですが、デバッグなしにプログラムを完成させることはできません。プログラミングの半分はデバッグだとも言われるほど、重要な作業です。
特定のスクリプトだけ単独で実行できる
デバッグの際に、すべてのスクリプトが同時に動き出すと、問題のある箇所に集中して確認するのが難しくなります。スクラッチでは、注目したいスクリプトだけを選んで単独でスタートさせることができます。他のスクリプトを止めたまま特定の動作だけを確かめられるので、デバッグの効率が上がります。
スタートはイベントで管理する
スクラッチでは、スクリプトをスタートさせるきっかけとなる合図を「イベント」と呼びます。イベントブロックをスクリプトの先頭に置くことで、どのタイミングで実行を開始するかを制御できます。代表的なイベントには次のものがあります。
- 緑の旗をクリックしたとき
- キーボードのスペースキーを押したとき
- スプライトをクリックしたとき
- タイマーによる時間管理
- 別のスプライトからメッセージを受け取ったとき
これ以外にも多くのイベントが用意されています。実際にいろいろ試して、動作の変化を体感してみましょう。
イベントは並列で同時に処理される
複数のスクリプトに同じイベント(例:緑の旗が押されたとき)を設定すると、そのイベント発生時にすべてのスクリプトが一斉に実行されます。これを「並列処理」といいます。
スプライトとステージのように別々のオブジェクトに属するスクリプトでも、同じイベントが設定されていれば同時にスタートします。意図せず複数のスクリプトが動き出さないようにするには、それぞれに異なるイベントを設定することが必要です。
ブロック単位で細かく動作確認できる
スクラッチのプログラムは「プログラム全体 > スクリプト > ブロック」という階層で構成されています。スクリプト全体ではなく、特定のブロックだけの動作を確認したいときは、確認したいブロックやスクリプトの上にカーソルを合わせてクリックすれば、その部分だけを実行できます。「ずっと」ブロックなど繰り返し処理の場合は、もう一度クリックすることで停止できます。
赤い八角形でプログラム全体を止める
スクラッチの画面には緑の旗の隣に「赤い八角形」のボタンがあります。このボタンをクリックすると、実行中のすべてのスクリプトが停止します。複数のスクリプトが並列で動いている状態でも、赤い八角形ひとつでまとめて止めることができます。無限ループで動き続けるプログラムを終了させたいときも、このボタンを使います。
まとめ:デバッグを繰り返して完成に近づける
プログラミングは一度作って終わりではありません。スタートとストップを使いながらスクリプトの動きを確認し、デバッグで修正を加えていく工程を繰り返すことで、少しずつ完成形に近づいていきます。スタートとストップの操作はその繰り返しの核心となる基本動作です。しっかり身につけておきましょう。
スタートとストップを覚えたら、次はスクラッチの基本[3]-スプライトとはでスプライトの扱い方を学びましょう。実際に作品づくりに挑戦したい方はスクラッチで基礎が身に付く7ステップもおすすめです。基本[1]から順に読み進めたい方はスクラッチの基本[1]-ブロックとはをご覧ください。

