スクラッチ 変数 リスト 使い分け|どっちを使う?決まりはある?Scratch質問編(FAQ)

Scratch質問編(FAQシリーズ)

導入:初心者が必ず迷う「変数とリストの使い分け」

Scratchを学び始めると、必ず次の疑問が出てきます。

  • 変数とリストってどう違うの?
  • どっちを使うのが正解?
  • 決まりはあるの?
  • クイズゲームを作るときはどうすればいい?

特に「問題文と正解をどう管理するか」で迷う人が多く、 変数だけで作る方法リストで作る方法 の違いが理解できないまま進んでしまうことがあります。

この記事では、 変数版クイズゲームリスト版クイズゲーム を比較しながら、 初心者でも迷わない「使い分けの基準」をFAQ形式で解説します。

結論:変数は「1つの値」、リストは「まとまり」

まず最初に、使い分けの基準を明確にします。

  • 変数:1つの値を扱う
  • リスト:複数の値をまとめて扱う

クイズゲームのように「問題が複数ある」「正解が複数ある」場合は、 リストが圧倒的に有利 です。

逆に、次のような「単体の値」は変数が最適です。

  • 現在の問題番号
  • 正解フラグ
  • カウンター
  • タイマー
  • 状態管理(はじめ/出題中/終わり)

つまり:

  • 単体 → 変数
  • 複数 → リスト

これが使い分けの基本ルールです。

① 変数だけで作ったクイズゲーム(問題1〜10を全部変数で管理)

▼ 変数版クイズゲーム
👉 Scratch共有ページを開く

初期化だけで20行以上になる

変数だけで作る場合、次のような変数を用意します。

  • 問題1
  • 問題2
  • 問題10
  • 正解1
  • 正解2
  • 正解10

合計 20個の変数 を初期化する必要があります。

Scratchで問題1〜10と正解1〜10を変数で初期化している例
問題1〜10と正解1〜10をすべて変数で初期化すると、このように大量のブロックが必要になります。

これだけでコードが縦に伸びて、管理が非常に大変になります。

正解判定のIF文が10個必要

変数版では、問題ごとにIF文が必要です。

Scratchで問題ごとに正解判定を行うIF文が並んでいる例
変数版では、問題ごとにIF文を作る必要があり、コード量が一気に増えます。

これを10問分書く必要があります。

  • IFが10個
  • 条件式が10個
  • 修正も10箇所

初心者が必ず挫折するポイントです。

拡張性がほぼない

問題数を増やすと、変数もIF文も倍増します。

  • 問題を20問にしたい → 変数20個追加
  • 正解を変えたい → 10箇所修正
  • 問題順を変えたい → 全部書き換え

変数だけでクイズゲームを作るのは非効率 です。

② リストで作ったクイズゲーム(問題文リスト+正解リスト)

▼ リスト版クイズゲーム
👉 Scratch共有ページを開く

初期化が一瞬で終わる

リスト版では、次の2つだけを作ります。

  • 問題文リスト
  • 正解リスト

作るリストはたったこれだけ。

Scratchで問題文リストと正解リストを初期化し、問題文と正解を追加している例
問題文リストと正解リストを初期化し、複数の問題と正解をまとめて追加しています。

変数版では20行以上必要だった初期化が、 リスト版では「すべて削除 → まとめて追加」で完了します。

コード量は変数版と同じ行数に見えますが、 管理のしやすさ・拡張性は圧倒的にリスト版が上 です。

正解判定が1行で終わる

リスト版の最大のメリットはここ。

Scratchで問題文リストと正解リストを使い、現在の問題番号で正解判定を行う例
現在の問題番号を使って、問題文と正解をリストから取り出し、1つのIF文で判定できます。

この判定ブロックだけで 全問題の判定ができます

  • IFは1つだけ
  • 条件式も1つだけ
  • 問題数が増えてもコードは変わらない

変数版のように「問題1〜10のIF文を全部書く」必要はありません。

圧倒的に効率的です。

拡張性が最強

リスト版は、問題数が増えてもコードがほぼ変わりません。

  • 問題を増やす → リストに追加するだけ
  • 正解を変える → リストの項目を変えるだけ
  • 順番を変える → リストの並びを変えるだけ

コードはそのまま。

初心者でも簡単に拡張できます。

③ 比較表(変数 vs リスト)

項目変数だけリスト
初期化20行以上数行
正解判定IFが10個IFが1個
拡張性低い高い
修正のしやすさ悪い良い
初心者の理解難しいわかりやすい

④ 使い分けの基準(これだけ覚えればOK)

変数を使うべきケース

  • 単体の値
  • 状態管理
  • カウンター
  • タイマー
  • フラグ(正解/不正解)

リストを使うべきケース

  • 複数の問題文
  • 複数の正解
  • 複数のデータ
  • 拡張性が必要なとき
  • データをまとめたいとき

⑤ よくある質問(FAQ)

Q
変数だけで作るのはダメ?
A

可能ですが、非効率で拡張性がありません。

Q
リストは難しい?
A

概念は簡単で、慣れると圧倒的に楽です。

Q
決まりはある?
A

単体は変数、複数はリスト。これが基本です。

まとめ:クイズゲームはリストが圧倒的に有利

  • 単体 → 変数
  • 複数 → リスト
  • クイズゲームはリストが最適
  • 初心者はまずリストを使うべき
  • 変数は状態管理に使うと強い

さらに学びたい方は、完成版のゲームから逆回転して学べる Scratch逆回転講座INDEX をご覧ください。
作りたいゲームから逆算して学べるので、次に何を学べばよいかが一目でわかります。

ご質問があれば、この記事のコメント欄へお気軽にどうぞ。
Scratch や micro:bit の疑問には、この記事のように動画や実際のプログラムを示しながら、わかりやすく回答していきます。
学習のつまずきや「ここがわからない!」というポイントがあれば、ぜひ書き込んでください。

コメント