まっつん総研連絡用ブログ

プログラミング教育とかMSXとか。

実習室で使っている教材:Scratch Jr.

 プログラミング実習室で使っていたり、要望があれば使えるようにしている教材のうち、Scratch Jr.について書いてみます。

※「子ども向けプログラミング環境にはどのようなものがあるか」、また「そのプログラミング環境がどのようなものであるか」については、既にネットに情報があふれていますので、あくまで身の周りでどのように使っているかを書いています。

f:id:matsun-ri:20220121221718j:plain
Scratch Jr.

目次

概要

 Scratchはテキストブロックによってコーディングを行いますが、Scratch Jr.ではアイコンブロックを使用します。

 Scratch Jr.には、条件分岐や変数がありません。
 しかし、Scratchと同様に(イベントドリブンで言うところの)メッセージの概念を実装しており、複数のキャラクターを順序よく、あるいは同期して動かすこと、例えば、電子紙芝居で2人のキャラクターが交互に話をするようなプログラムが子どもでも作りやすくなっています。

 Scratchキャットも、Scratchと違ってとてもかわいいです(重要)。

 関連図書はScratchと違ってあまり出ていませんが、『5才からはじめるすくすくプログラミング』日経BP社)は、5才児にも読んでもらえるように本文がすべてひらがなで書かれています。*1

状況

 実習室は、当初はScratchの一本足打法で始めましたが、想定していなかった小学校1・2年の参加があったため、たまたま通販でセール中だった8インチタブレット*2を調達しました。

 7インチ程度の、いわゆる中華タブを持ってきた小学1年生もいました。子どもの指でも7インチでは画面が小さすぎるのと、タブレットが使い込まれていたせいかタッチパネルの感度が落ちていたようで、時々苦戦していました。

 最初はコーディングというよりは、ブロックを適当に繋げて遊んでいました。ブロックが繋がるときの感触が心地よいみたいです。
 繋げたブロック(=コード)を実行できることを教えると、ブロックの並べ方によってキャラクターが動きを変えることに気づきました。実行中に、実行部分のブロックがハイライト表示されるためです。
 これで、ブロックを繋ぎ変えてからプログラムを実行し始めました。

 さらに、ペイントエディタの存在に気づくと、熱心に絵を描きはじめました。そのうち「これ、動かせるのかな……?」と気になり、自分で描いた絵を自分で書いたプログラムで動かすようになりました。

 手元のタブレットが1台しかないので、数だけはある中古デスクトップパソコン(Ubuntuインストール済)でScratch Jr.を動かせるようにならないか、いろいろ試してみました。
 なにしろ古いデスクトップで、エミュレータではまともに動くことが期待できなかったので、ベアメタルで動作するAndroid-x86やCloudReadyなどの環境を試しました。
 しかし、レアな環境のせいかGooglePlayまでたどりつけなかったり、Scratch Jr.の起動までこぎつけたもののタッチ位置がずれていたりなどして、結局は使うことができませんでした。*3

 今のところ、小学校2年生以下の児童が初参加をする際には、なるべくタブレットを持参してほしい、とお願いしており、タブレットが足りなくて困るといったことは起きていません。

サンプルコード

 「Scratch Jr.では紙芝居しか作れないの?」と思われるかもしれませんが、工夫次第でゲームを作ることもできます。
 例えば、サッカーゲームを作ってみましょう。

f:id:matsun-ri:20220126211951j:plain
キャラクターの配置

 上のとおりにサッカーボールとサッカーのゴールを配置します。

f:id:matsun-ri:20220126212111j:plain
サッカーボールのスクリプト

 サッカーボールには、上のとおりスクリプトを組みます。
 「タッチされたら、10歩右へ進み、最初の場所に戻る」という内容です。

f:id:matsun-ri:20220126212244j:plain
ゴールのスクリプト

 ゴールには、上のとおりスクリプトを組みます。
 「旗が押されたら、ひたすら上下移動を繰り返す」という内容と、「他のキャラクターと当たったら、『ゴール!』といい、少し小さくなる」という内容です。

 スクリプトが完成したら、旗アイコンを押して実行します。
 動くゴールのタイミングを狙いながら、サッカーボールをタップすると、サッカーボールが飛んでいきます。

f:id:matsun-ri:20220126212923j:plain
ゴール!

 最初のうちはゴールが大きいので、外すのが難しいくらいですが……。

f:id:matsun-ri:20220126213003j:plain
小さくなったゴール

 ゴールするたびにゴールが小さくなり、だんだん難しくなります。

 変数こそありませんが、メッセージを使うなどしてキャラクターやステージを切り替えていけば、それなりのゲーム性を持ったものになるのではないでしょうか。

*1:刊行にあたって、カタカナまで読める子どもにとっては却って読みにくいのではないか、という点が悩みどころだったそうです。

*2:ヒント:密林、GooglePlay, 最近メモリが大きくなったタブレット

*3:このあたりのノウハウは、より美麗でなめらかな画面を求めるソシャゲーマーの方が詳しかったりするようです。