Scratch(スクラッチ)とは
Scratch(スクラッチ)は、アメリカのマサチューセッツ工科大学(MIT)メディアラボが開発・無料公開している、子どもから大人まで楽しめるビジュアルプログラミング言語です。世界中の教育現場や家庭で活用されており、日本語にも完全対応しています。
Scratchの特徴
Scratch最大の特徴は、「プログラムをブロックの組み合わせで作る」という点です。難しい記号や英単語を入力するのではなく、「動き」「見た目」「音」「制御」といったカテゴリーごとのブロックを、パズルのようにつなぎ合わせていくことで、直感的にプログラミングができます。主にマウスを使って操作できるため、キーボードに不慣れな小学生や初心者でも、簡単にスタートできます。
できること・活用例
Scratchでは、画面上に登場する「スプライト」(初期状態はネコのキャラクター)を動かしたり、会話させたり、音を鳴らしたりといった基本的な動作から、ゲームやアニメーション、クイズ、学習教材など幅広い作品づくりが可能です。例えば「10歩動かす」「1秒待つ」といった命令ブロックを組み合わせるだけで、キャラクターを自由自在に動かすことができます。また、ネコ以外にも多くのキャラクターや背景が用意されており、自分でイラストを描いたり音声を追加することもできます。
教育現場での役割
Scratchは世界中の学校やプログラミング教室で広く利用されています。小学生向けの初級教材から、中高生向けの応用課題、さらには大人の学び直しや趣味の作品制作まで、あらゆる年代・目的に対応可能です。Scratchを通じて、プログラミングの基礎概念(順次処理・条件分岐・繰り返しなど)や論理的思考力、創造力、問題解決力を自然に身につけることができます。
コミュニティと共有
Scratch公式サイト(scratch.mit.edu)には、世界中のユーザーが投稿した何百万もの作品が公開されており、自分の作ったプログラムを発表・共有できます。他の人の作品をリミックス(改造)したり、プログラムを見て学ぶこともできます。
まとめ
Scratchは、「プログラミング=難しい」というイメージを覆し、だれもが楽しみながら創造できるツールです。子どもの初めてのプログラミング体験から、大人の趣味・学習まで幅広く活用できます。もし興味があれば、まずはScratch公式サイトにアクセスし、実際にブロックを動かしてみることをおすすめします。
プロンプト・テンプレート
狙いを誤解なく伝えるための指示文です。<>は置き換えてください。
作品の目的
このScratch作品の目的は<目的>です。プレイヤーは<操作方法>で操作します。対象は<想定学年/初心者〜上級者>です。
構成とアセット
ステージは<背景名や雰囲気>、スプライトは<スプライト一覧>を使います。必要なら新規スプライト名を指定し、見た目の切り替えタイミングを明記してください。
ゲーム仕様
開始条件は<緑の旗/スペースキー/クリック>、終了条件は<例: 残り時間が0/ライフが0/ゴールに到達>。スコア、ライフ、タイマーの有無と初期値を示します。難易度は<易/普/難>で、上がる仕組みを説明してください。
ブロック設計
使うブロックはScratch日本語名で書き、各スプライトごとに「できたら」順に並べます。移動は「x座標を◯ずつ変える」「y座標を◯ずつ変える」を用い、向きの初期化「90度に向ける」を入れます。待ち時間は必要最小限にし、「ずっと」「もし〜なら」「でなければ」「メッセージを送る/受け取ったとき」を活用します。クローンや当たり判定の条件式も明記してください。
変数・リスト
必要な変数/リストを列挙し、初期化の場所(「緑の旗が押されたとき」など)と更新条件を指定します。例: 変数「スコア」「ライフ」「時間」/ リスト「出題」など。
当たり判定と座標
「◯に触れた」「色に触れた」「マウスのポインターに触れた」を使う場合、判定対象を具体化し、スプライトの初期座標と境界処理(画面端で跳ね返る/止める/ループ)を指定します。
音・見た目
効果音/音楽の再生タイミングを明記し、「音量を◯%にする」や「◯の音を鳴らす」「見た目を◯にする」を使います。視覚的なフィードバック(点滅、拡大縮小)も指定します。
拡張・制約
拡張機能(ペン/音声合成/動画モーション等)を使うか、使わないかを明確にしてください。学校PC想定なら拡張非依存でお願いします。
出力形式の指示
1 概要(作品の流れ)
2 スプライト別スクリプト(ブロック名を日本語のまま列挙。上から実装順)
3 変数/リストと初期化
4 ブロードキャスト(メッセージ)一覧と用途
5 手順書(学習者に指示する作り方。1手順=1行)
6 動作テスト項目(正常系/境界/連打など)
7 追加課題(難易度アップ案)
禁止事項
英語ブロック名の使用、未指定の拡張の使用、曖昧表現を避けてください。必ず実行順に並べてください。
- プロンプト例(用途別)
例1 初級:矢印キーで動く収集ゲーム
このScratch作品の目的は、矢印キーでネコを操作してリンゴを集めることです。対象は小学校低学年の初心者。ステージは草原、スプライトは「ネコ」「リンゴ」。開始は緑の旗、30秒で終了。リンゴに触れたらスコア+1、位置をランダムに移動。壁は使いません。移動は「右矢印が押されたなら x座標を5ずつ変える」など。変数は「スコア」「時間」。当たり判定は「リンゴに触れた」。音は収集時に短い効果音。拡張は使いません。出力形式と禁止事項はテンプレートどおり。
例2 初級:迷路ゲーム
目的は迷路のゴールまで到達すること。プレイヤーは矢印キー操作。対象は小学校中学年。背景は迷路、スプライトは「ネコ」「ゴール」。壁の色に触れたら一歩戻す方式。「色◯に触れた」の条件と復帰処理を明示。スタート座標とゴール座標を指定。タイム計測を行い、クリア時に「メッセージ:クリア」を送る。出力形式と禁止事項はテンプレートどおり。
例3 中級:シューティング
目的は敵を倒してスコアを稼ぐこと。プレイヤーは左右キーとスペースで弾発射。スプライトは「自機」「弾」「敵」。敵はクローンで生成し、一定間隔で上から出現。当たり判定は「弾が敵に触れた」。ライフ3で、敵が最下部まで到達したらライフ-1。難易度は時間経過で敵の出現間隔を短縮。変数は「スコア」「ライフ」「時間」。ブロードキャスト「被弾」「消滅」を使用。音は発射と爆発。出力形式と禁止事項はテンプレートどおり。
例4 中級:タイピングゲーム
目的は表示された単語を正しく入力すること。プレイヤーはキーボード入力。対象は小学校高学年。リスト「出題」に単語を格納し、ランダム選択で表示。正解でスコア+1、不正解時はヒントを1回表示。制限時間60秒。日本語入力は避け、アルファベットのみ。入力の取得は「キー◯が押された」で組み立て。出力形式と禁止事項はテンプレートどおり。
例5 中級:リズムゲーム
目的は音の拍に合わせて矢印キーを押すこと。BPMと小節数を指定。スプライトは「判定ライン」「ノーツ」。ノーツはブロードキャストで生成、座標と速度を指定。判定は「◯に触れた かつ 指定キーが押された」。評価は「Perfect/Good/Miss」でスコア加点を変える。ラグを減らすため待ち時間は固定値で統一。出力形式と禁止事項はテンプレートどおり。
例6 上級:当たり判定付きアクション
目的はジャンプと重力を持つ横スクロール。スプライトは「主人公」「床/足場」「敵」「ゴール」。重力は「y速度」変数を使い「y座標をy速度ずつ変える」「y速度を-1ずつ変える」で表現。床接地は「床の色に触れた かつ y速度<0」。敵に触れたらノックバックと無敵時間。カメラ風演出は背景を動かす方式。出力形式と禁止事項はテンプレートどおり。
例7 学習用:クイズ/ドリル
目的は四則演算の自動出題と採点。リスト「問題」「正解」「ユーザー回答」。問題作成は乱数で生成し、表示は1問ずつ。制限時間と合否音を設定。集計して結果画面を表示。教師用に平均点や正誤一覧を表示するブロックも含める。出力形式と禁止事項はテンプレートどおり。
- 実装時の確認観点
初期化
緑の旗で全変数を初期化。位置と向きも必ず設定。
入力競合
同時押しや連打時の挙動を「もし」「でなければ」で衝突しないよう整理。
境界とフレーム感
画面端の処理と待ち時間の一貫性(例 0.02〜0.05秒)を統一。
デバッグ
一時的に「考える 0.2 秒」「ゴースト効果を◯にする」で可視化。終わったら必ず削除。
このまま任意の例を選んで、設定値だけ入れ替えてご利用ください。
