【初心者〜中級者向け】Scratchのスキルチェック表

サクールのScratchのスキル判定基準の目安を公開させていただきます。
各級での指導のポイントなどもありますので、ご家庭でのお声がけなど参考にしてみて下さい。

4級〜1級の基準はジュニアプログラミング検定の合格レベルを参考にしています。これができれば合格はまず確実であろうラインです。
初段〜5段は、Scratch以外のプログラミングの基礎チュートリアルならば取り組めるレベルの難易度になります。(大人の皆さんにもおすすめです!)

想定学年:小学4年生以上
難易度が低く優先度の高い( = 確実に抑えておきたい)項目は赤く表示してあります。

5級:1ヶ月(およそ6時間受講 + 課題演習) 

課題作品例:鬼ごっこ

  • 基本の単語の理解(スプライト・コスチューム・ピクセル・x座標・y座標)
  • マウスでのスプライト操作
  • 矢印キーでのスプライト操作
  • 「もし〜に触れたならゲームオーバー」を実装(「全てを止める」ブロック使用)

【このレベルでのポイント】
まずは、Scratchを使う上でのマウスとキーボードの操作に慣れましょう。
右クリックでのブロックやスクリプト(ブロックのまとまり)の複製、TABキーでの変数間の移動もぜひマスターしておきたいです。

4級:3ヶ月(およそ18時間受講 + 課題演習)

課題作品例:シューティングゲーム or ペンを使った模様

  • 変数でスコアを実装(リセットあり)
  • 動くブロックでスプライトの初期位置を設定
  • 不等号を使った条件分岐
  • 演算のブロック「乱数」を使った実装
  • 繰り返し一方向に移動し続けるスプライトの実装

【このレベルでのポイント】
ここで、Scratchのプログラムが上から順番に流れる順次処理であることを理解したいです。
また、ランダム・乱数という概念についてはゲームで出てくると思うので、普段取り組んでいるゲームなどを確認しながら取り組んでいきましょう。
サポートなしに自分で何か動くものを作れるようになったら、4級の試験を受けてみましょう。

3級:6ヶ月(およそ36時間受講 + 課題演習)

課題作品例:プラットフォーム(横)アクションゲーム or 落ちものゲーム

  • メッセージのブロックで合図を送る
  • 全てを止める、スクリプトを止める、このスプライトの他のスクリプトを止めるの使い分け
  • 「◎歩動かす」と「x座標を◎ずつ変える」ブロックの使い分け
  • 「ずっと…」の代わりに「〜まで待つ」を使ってゲームオーバーを作成
  • 調べるのブロック「〜の…」を使った条件分岐
  • 繰り返し一方向に移動し続ける、クローンされたスプライトの実装

【このレベルでのポイント】
そろそろ座標の概念をマスターしたいところ。縦、横だけではなく、Scratchの480×360pxのステージ範囲を踏まえた実装を心がけましょう。
特に多いのが、「端に触れたなら」の処理を入れているのに最初から端に触れているパターン。
コスチュームのサイズについて気にしながら座標設定をしたいところです。

2級:9ヶ月(およそ54時間受講 + 課題演習)

課題作品例:最後にスコアを発表するクイズゲーム

  • 「〜と聞いて待つ」ブロックで、答えに応じて変数を使い分ける(もし〜なら)
  • 「もし◎◎なら…でなければ〜」を使った条件分岐
  • 「ずっと…」の代わりに「〜まで繰り返す」を使って、ある条件まで繰り返す処理を実装

【このレベルでのポイント】
ここでは、スクリプトの塊を意識した実装をしましょう。
ただ目の前に並べたブロックの処理だけではなく、別のスクリプトに飛ばすための合図をメッセージブロックを使って実装しましょう。
そのためには、この段階から手書きで設計をする習慣を身につけて欲しいです。
料理のレシピを書くように、処理を順番に考えていきましょう。

1級:18ヶ月(およそ108時間受講 + 課題演習)

課題作品例:ゲームスタート・ゲームオーバー画面のあるシューティングorアクションゲーム(敵あり)

  • リストを使って複数の変数を整理する(アイテムなど)
  • 「このスプライトのみ」変数とクローンを組み合わせる

【このレベルでのポイント】
スクラッチのチュートリアルだけでは学べない部分、特に変数とリストについて抑えておきます。
この規模になるとプログラムの量も多いため、必ず手書きのメモを使って設計、実装を進めましょう。
そして、レベルが上がったからこそ、焦らず1歩ずつ進めていきましょう。

Sachoolで使っていた手書きメモ用紙のサンプルを置いておきます。

 

初段
課題作品例:RPG or 床がスクロールするアクションゲーム

  • 幽霊の効果を使った2Dの壁・床判定
  • 変数を使ってセリフを表示する演出

【このレベルでのポイント】
ここは、当たり判定の実装がテーマです。ジャンプも、上にまっすぐ、ではなく、放物線を描くようなジャンプを実装しましょう!(ジャンプ力という変数を使います)

2段
課題作品例:オセロ

  • レイキャスト処理(スプライトが向いた方向に別のスプライトが置かれているかを確かめる処理)の実装
  • 定義ブロックを使った、部分的なターボモード処理

【このレベルでのポイント】
ここでも、設計が重要です。特に挟んだ色をひっくり返す処理について、どうすれば実現できるのかを落ち着いて考えましょう!

3段
課題作品例:テトリス

  • 変数によるクローンごとの状態管理(落下中・配置判定中・配置確定・削除対象・削除)

【このレベルでのポイント】
基本はオセロと同様です。こちらの課題について、ブロックを積み重ねるのは割と簡単にできます。1行並んだかどうかを判定→並んでいたらブロック削除→消した行から上のブロックたちを1行分下げる、の一連の流れを丁寧に実装しましょう!

4段
課題作品例:床をクローンで作成する横スクロールアクション

  • リストでの座標管理

【このレベルでのポイント】
そもそも、Scratchのステージは360×480pxなので、30pxまたは20px四方の正方形でスプライトを作成すれば、「全てのマスをプログラムで制御・描画」することができますね。これで床や背景を実装します。
また、描画されるスプライトには、それぞれに当たり判定も実装しなければなりません。
まずはやることをメモにまとめてから手を動かしましょう。

5段
課題作品例:オンラインゲーム

  • クラウド変数を用いて、上記全ての作品をリアルタイムオンライン対戦できるようにする

【このレベルでのポイント】
この「クラウド変数」を扱う場合は、初期値が重要です。また、Scratchの保存の際に最後に操作した変数の値が影響します。
よりデリケートな実装を求められるので、焦らず丁寧に取り組みましょう。
ゲームのオンライン化(共通変数の作成)自体はそこまで難しくはないですが、誰のどの変数を変えればいいのかという点が複雑になります。また、Scratchの根本の仕様(クラウド変数は数値のみ代入でき、10個までしか作れない。)も影響してくるので、より広い視野を持った設計、実装が求められます。

 

 

 

今後も随時更新、改善していきます。感想コメントお待ちしております。
ぜひご参考になりましたら幸いです!

お読みいただきありがとうございました!

SNSでもご購読できます。