Scratch ではじめよう！プログラミング入門 Scratch 3.0 版 〜ゲームを作りながら楽しく学ぼう〜

指導者向け活用ガイド
2019 年 11 月

この文書は『Scratch ではじめよう！プログラミング入門 Scratch 3.0 版』（以下、本書と呼びます）を学校の授業の教材として利用したり、プログラミングの講座などで活用したりする際に、指導者にとって役立つガイドとなることを目的としています。

本書の構成について
本書は指導者がいなくても、各自のペースで読み進めることで、Scratch の操作とプログラミングの基本概念を学べるように執筆しました。ただし、本書に掲載してあるコードを最初から最後まで真似して作るのは、相応の時間と根気が必要になります。
本書は STAGE（章）を順番にクリアしていくことで、段階的にゲームを改造・完成させていくというストーリーになっています。
各 STAGE を難易度や内容でまとめると、以下のような５つに分割することができます。

STAGE01〜STAGE05：初級編＜所要時間：約 5 時間＞
基本的なゲーム（仕組み）を作るための操作と概念

STAGE06：作品の共有と Remix・コミュニティの活用＜所要時間：約 1 時間＞
独立した内容なので、学習の方針によってはスキップも可能

STAGE07〜STAGE10：中級編＜所要時間：約 5 時間＞
より複雑なゲーム（仕組み）を作るための操作と概念

STAGE11〜STAGE15：上級編＜所要時間：約 7 時間＞
状態設計を軸としたゲーム（仕組み）の完成度の向上

BONUS STAGE：番外編＜所要時間：約 1 時間＞
ゲームのコントローラーを micro:bit を使って制作する

STAGE06 は独立した内容で、他の STAGE との関連が少ないので、スキップすることも可能です。例えば、学校の方針でネット上に作品をアップロードするのは好ましくない場合もあると思います。しかし、まだゲームが完成していない段階の STAGE06 で、作品の共有やコミュニティについて触れたのには理由があります。一つ目の理由は、自分の作品を他者と共有したり、Remix を推奨したり、作品にコメントをもらって継続的に改善をしていくことが、Scratch を使った活動で重要と考えられている（P.7 を参照）からです。二つ目の理由は、本書を使って「独学」をしている読者（作品を見せ合い、学び合うための仲間やクラスメイトがすぐ近くにいない状態の読者）であっても、ネット上のコミュニティに参加することで、学びに対するモチベーションを高め、ネット上の様々な作品を参考にすることで、アイデアの広がりが生まれると思ったからです。

1

以下では、初級編、中級編、上級編、番外編のそれぞれについて解説します。

STAGE01〜STAGE05：初級編
STAGE01 から STAGE05 では、基本的なゲーム（仕組み）を作るための操作と概念を扱います。
Scratch にはじめて取り組む場合は、STAGE01 から STAGE05 までを使って学習をすれば、ゲーム作りに必要な基本的な事柄を学べるようになっています。本書は中学生以上を対象読者に想定していますが、初級編は小学校の高学年でも十分に学習可能な内容となっています。

各 STAGE での学習項目を以下に示します。
STAGE01：単純なコードの作成・編集方法、回数指定の繰り返し、作業結果の保存



STAGE02：コスチュームの読み込み、キーボード操作、条件判定、プロジェクト管理

STAGE03：ペイントエディターの使用方法、アニメーションのためのコード



STAGE04：Scratch の座標系の理解、座標によるスプライトの制御

STAGE05：乱数、スプライトの複製、色による当たり判定

STAGE05 までを学習することで、キーボードを使って自機を操作し、繰り返し画面に現れる敵キャラを避けるゲームが完成します（P.64 を参照）
。ここまでの学習内容を応用すると、例えば以下のような仕様のオリジナルゲームを作成することができます。
初級編を学習した後で、こうした仕様のオリジナルゲームを作成すれば、学習した内容を整理・定着させることができます。

(1) 果物を収穫するためのカゴを持ったプレイヤーを、キーボードで左右に操作する(2) 画面の上からランダムな位置に落下してくる果物（例えばリンゴ）に当てるようにプレイヤーを動かし、収穫をする(3) 落下してくる果物の中に収穫してはいけないもの（例えば毒リンゴ）が混ざっており、これを間違えて収穫してしまうと、プレイヤーが消えてゲームオーバーとなる

STAGE07〜STAGE10：中級編
STAGE07 から STAGE10 では、より複雑なゲーム（仕組み）を作るための操作と概念を扱います。
STAGE05 までの内容を学習した後で取り組めば、本書に掲載しているゲームをより本格的なものに仕上げていくことができます。
この中級編で扱う、メッセージ、音に関する機能、ブロックの定義と利用、変数は、ゲーム制作だけでなく、ある程度複雑な仕組みを持った作品をプログラミングする際に必要となる事柄です。すでに『小学生からはじめるわくわくプログラミング』（阿部和広著、日経 BP、2013 年）を学習した読者であれば、STAGE07 から学習をはじめることが可能です。メッセージ、音に関する機能、変数については『小学生からはじめるわくわくプログラミング』にも掲載されていますが、シューティングゲームの制作という文脈で、これらをどのように活用するかということが整理できます。

各 STAGE での学習項目を以下に示します。
STAGE07：メッセージの仕組みとコード



STAGE08：音楽ファイルの取り込み、音に関するブロックの利用



STAGE09：ブロックの定義と利用



STAGE10：変数の概念とコード2

STAGE11〜STAGE15：上級編
STAGE11 から STAGE15 では、STAGE11 でしたゲームの状態を状態遷移図で設計・表現し、その設計を軸として、ゲーム（仕組み）の完成度を高めていきます。
STAGE11 では、スタート画面とゲームオーバー画面を追加する際に、状態遷移図で設計を整理したのち、大幅に各スプライトのコードを変更します。STAGE12 からは、この変更を前提にして解説をしていますので、STAGE11 から STAGE15 は順番に学習するほうが混乱は少ないと思います。ある程度の複雑な作品を Scratch で作ったことがある読者であれば、STAGE11 から学習をはじめることで、状態遷移図を使って設計を行うことの利点が理解できます。

各 STAGE での学習項目を以下に示します。


STAGE11：状態遷移図による設計



STAGE12：ハイスコアの記録アルゴリズム（変数は STAGE05 で学習済み）



STAGE13：三角関数による座標の制御



STAGE14：敵キャラ（新しい学習項目はなし）

STAGE15：ボスキャラの追加（新しい学習項目はなし）

BONUS STAGE：番外編
BONUS STAGE は micro:bit をコントローラーとして利用する番外編です。本文中では STAGE15 が終わった段階のゲームを前提にしてコントローラーを作成していますが、STAGE05 の終了時点であれば、自機の左右移動のみを micro:bit で行うことができます。また、STAGE07 の終了時点で弾丸が発射できるようになりますので、STAGE07 までのゲームであっても BONUS STAGE の全ての内容でコントローラーの作成（STAGE07 までのゲームの場合、P.157 図 28 は弾丸発射の効果音がないコードになります）に取り組むことが可能です。

おわりにプログラミングに慣れないうちは、まずは本書に掲載しているとおりにコードを真似して作ってみるのがよいでしょう。しかしそれだけでは、プログラミングの楽しさを体験するには十分ではありません。新しいアイテムを追加したり、登場するキャラクターの動きを変更したり、少しずつでよいのでオリジナルの改造を加えるように指導をしてみてください。こうした改造の過程で、コードの仕組みをより深く理解でき、コードを自分で考える応用力がつくはずです。
コードの改造が難しそうなら、まずはキャラクターのコスチュームを変更させてみてください。コスチュームが変わるだけでも、新たな発想が生まれ、改造の具体的な方針が立てやすくなります。本書がきっかけとなって、素敵なプログラミングとの出会いが生まれることを願っています。

3