マサチューセッツ工科大学(MIT)が公開しているScratchは小学校のプログラミング教育用言語として広く採用されている.その最新版(バージョン3)のオフラインによる利用法を紹介したい.ブロックを画面上で選択,合体,操作をするので,タブレット以上の面積が必要である.
Scratchのサイトの画面最下部の「サポート」の中に「ダウンロード」が用意されている.
画面最下部
ダウンロードサイトを開いた画面
上 Macの場合
左 Windowsの場合
以前,本ウェブサイトでシリーズで紹介したバージョン2もダウンロード可能である.
動き,見た目,音,イベント,制御,調べる,演算,変数のブロックが色分けされて用意されている.
移動方向,回転の向きを設定する.
ブロックの白地の部分は変更できる
言葉,コスチューム,背景,色の設定を行う.
ブロックの白地の部分は変更できる.
発声内容.ピッチ.音量などを指定する.
「旗がおされたとき」,「スペースキーが押されたとき」などの実行開始を指定する.
もし・・・・ならば・・・・等の条件による分岐を実行する.
褐色の六角形の部分には条件文(青色)が入る.
「もしマウスが押されたら」等の「調べる項目」が用意されている.
答え,音量,タイマーの左側にチェックを入れると画面に表示される.
四則演算(加算,減算,掛け算,割り算)と結果の記憶
乱数,四捨五入,絶対値なども用意されている.
●変数は,文字や数字を入れておく入れ物
●変数の使用範囲は,「全てのスプライト」,「特定のスプライト」の2種類から選択可能
新たな変数の登録,表示,変更,削除などを指定する.変数を使った演算の際に使用される.後述のプログラム例を参照
ブロックの組み立ては真ん中で行う.ブロックの凹凸が合うように繋いでいくとプログラムができあがる.以下に紹介するプログラムは15度(角度)づつ,時計回りに回転している猫がマウスが押されると逆に回転する.実行は右側のステージで行われる.マウスはステージ上の任意の場所で押せば認識される.プログラミング手順を参考に要領を習得してほしい.
「もし・・なら・・でなければ」ブロックに,「マウスが押された」ブロック.「↺15度回す」ブロック.「↻15度回す」ブロックの3個のブロックをはめ込む.回転角は任意の値に変更できる.
生成した合体ブロックを「ずっと」ブロックにはめ込む.
それに「旗が押されたとき」ブロックを合体させる.
はめ込み,合体の際,一見大きさが合わないように見えても拡大するので心配は要らない.
なお,ブロックの白地の部分(回転角)は任意の値に変更できる.
どのようなプログラムを作りたいか,予め動機が必要であることは言うまでもない.
パソコンやタブレット端末のカメラ機能を利用したプログラムを作る際は拡張機能を用いる.拡張機能は画面左下隅のマーク(青色に+ブロック)をクリックすれば現れるので,目的に合った機能を選択する.音楽,ペン,ビデオモーションセンサー.音声合成,翻訳など11種が準備されている.
左はビデオモーションセンサー
右は音楽
2,3行のプログラムで動体検知が可能である.カメラの前を物体が横切るとその動きを検知して,猫の鳴き声で知らせることができる.
プログラムを起動すると自動的にカメラ(外付け)の画面が表示された.バージョン3ではカメラ起動のためのボタンは存在しない.
パソコン (Mac, OS Catalina)に接続されたカメラが認識されない場合は.アプリを立ち上げ直す必要がある.
追記 変数について
1+2+3+・・・・+8+9+10のプログラム例である.橙色の変数ブロックの使い方を習得するのに適したプログラムの例である.まず,完成したプログラムを見てほしい.
「数」と「合計」は,「変数を作る」を利用して変数として予め定義しておく必要がある.
必要な変数の数だけ登録する.上記のプログラムでは「数」と「合計」である.プログラムが実行されると,
「数」は,1,2,3と1ずつ増えていく
「合計」は,1+2+3・・・・と,「数」を足し合わせたものが,上書きされ記憶される.
初期値を設定する橙色のブロックなどでは,変数は選択できるようになっている(変数▼).緑の演算ブロックの「合計」+「数」は定義されたブロックをはめ込む.白い丸部分はプログラムを構成するために必須の定数であり,プログラムの内容に適した数値を入力する.なお,緑色の演算ブロックに合計,数等の文字を入力しても変数としては認識されない.
上記のプログラムの合計の部分は左図のように書いてもよい.
「合計」を「合計」+「数」にする.
↓
「合計」を「数」ずつ変える.
Mac版,Windows版の両方をダウンロードしてパソコン上で試用してみたが,問題なく動いてくれた.しかし,バージョン2で作成したプログラムはバージョン3で読み込むことはできるが,逆はできないので注意が必要である.
追記
ブロックは新規に作ることもできる.
(2020.12.9)