Snap! プログラミング

 Snap! は Scratch の皮を被った Scheme と言われています。Scheme は Lisp 系のプログラミング言語ですが、意識する必要はありません。Scratch を知っているならば馴染みのあるブロックで同じようにプログラミングできます。Scratch のデフォルトのスプライトはネコですが、Snap! は矢印になっています。中学生以上の人には受け入れやすいでしょう。Scratch にはないブロックもありますが、あまり気にせずに興味をもったところから理解していければいいのではないでしょうか。Scratch ではできなかったようなアルゴリズムを表現することができます。

 このように説明すると Scratch を凌駕しているように思えますが、実行スピードは劣りますし Scratch のスクリプトを移植しても同じようには動作しない場合もあります。ゲームのようなものやスピードが要求されるシミュレーションなどを作るには Scratch のほうに分があるように思えます。

ビジュアルプログラミング

 プログラムは一般的には英語のような命令を連ねて作成されます。個々の命令や構文規則について把握している必要がありますし、プログラムは一字一句の入力ミスでエラーになります。ブロックなどにした命令をつなげてプログラムを作成し、変数の値などや実行結果も画面上に表示されるようにしたものがビジュアルプログラミングと言われる Scratch や Snap! です。使用できるブロックはすべてブロック選択エリアにあるので、そこから目的に合ったものを選んで作っていきます。プログラム実行の主役がコスチュームで表されるスプライトです。 コンピューターらしい計算などをさせることもできますが、スプライトを画面上で動かしてみることで自分が作ったプログラムが正しく動作するか確認できるので入門者には分かりやすいと思います。 とっつきやすい反面、プログラムをブロックとして画面上に表示される範囲でしか見られないので全体が把握しづらかったり、変数やブロックをどこで使用しているかを検索できないことなど使いづらい点もあります。ですが、プログラミングの練習や実験、プロトタイピングツールとしても十分有益です。

Snap! の解説 PDF

 Scratch については書籍も豊富に出回っていて Web での情報も多いのですが、Snap! については日本語での情報が少ないのが現状です。公式のマニュアルを読むのが一番だと思いますが、副読本として理解の一助になれば幸いです。Web ブラウザが対応していれば、PDF ファイルへのリンクを左クリックすることで見ることができます。

◯ [ aboutSnap1.pdf ] (15.2 Mbytes) 2024/4/12 版 加筆修正中ですので最新版をご利用ください。

「作図チャレンジ」を使ったプログラミング入門

 ステージ上に簡単な図形を描くことで、プログラミングの基本である「順次実行」「条件分岐」「繰り返し」を体験します。 Snap! 入門と言うよりはプログラミング入門を意図しているので、むしろ Snap! にもともと備わっているものではないブロックを使ってプログラミングします。ステージに描かれた図形に沿ってスプライトが動くように、自分で考えてブロックを組み立ててもらうパズル集のようなものです。「階段」を描くのは簡単ですが奥が深い問題で、これを突き詰めていくと「迷路」の問題につながります。

◯ [ 作図チャレンジ.pdf ] (1.6 Mbytes)

ブロックくずしゲームの作り方

 Snap! を使ってブロックくずしゲームの作り方を説明します。パドルのスプライトをカーソル移動キーで動かしてボールを跳ね返し、クローンを使って作成したブロックに当てて消していくゲームです。スプライトは Costumes のものを利用します。

◯ [ blockGame.pdf ] (1.0 Mbytes)

Scratch の解説 PDF

 Scratch の変数について説明してみました。

◯ [ scratch_var.pdf ] (4.5 Mbytes)