了解。
では 「二次方程式 1 単元だけ」に完全フォーカスして、
Roblox 上でそのまま実装できるレベルの “データ構造” と “UI案” を、
無駄なく・実装者目線で切り出します。


🔷 1. データ構造(ModuleScript)

Roblox の ModuleScript で扱いやすいように、
問題定義・ステップ定義・採点ルール を最小構成でまとめます。


🧩 ① 問題データ構造(ProblemModel)

return {
    Problems = {
        {
            id = "Q1",
            title = "二次方程式の解を求めよ",
            question = "x^2 - 5x + 6 = 0",
            unit = "quadratic_equation",
            difficulty = 1,

            -- 必要な前提ノード
            prereq = {"factor_basic"},

            -- 正答(複数可)
            answers = { {x1 = 2, x2 = 3} },

            -- 許容ステップ列(正攻法)
            validSteps = {
                {"factor", "set_zero", "solve"},
            },

            -- 典型誤答パターン
            commonMistakes = {
                {pattern = "sign_error", message = "符号の扱いを確認しよう"},
                {pattern = "factor_wrong", message = "因数分解の組み合わせを再確認"},
            }
        },
    }
}

🔍 ポイント

  • validSteps は「正しいステップの並び」を定義
  • commonMistakes は「誤答パターン → フィードバック」を定義
  • prereq は後で「弱点ノード可視化」に使える

🧩 ② ステップ定義(StepLibrary)

UI で選べる「数学操作ブロック」の辞書。

return {
    factor = {
        label = "因数分解する",
        requires = {"factor_basic"},
        produces = {"factored_form"},
    },
    set_zero = {
        label = "0 になるように式を分ける",
        requires = {"factored_form"},
        produces = {"zero_product"},
    },
    solve = {
        label = "解を求める",
        requires = {"zero_product"},
        produces = {"solution"},
    },
}

🔍 ポイント

  • requires / produces で「状態遷移」を表現
  • これにより ステップの妥当性チェックが自動化 できる
  • 後で「飛躍」「不適切ステップ」を判定可能

🔷 2. UI案(Roblox Studio で実装しやすい構成)

Roblox の UI 制約を踏まえて、
“解答構築OS”として最小で動く UI を提示します。


🧩 ① ステップ選択パネル(左側)

  • 「因数分解する」
  • 「平方完成する」
  • 「両辺に同じ数を足す」
  • 「解の公式を使う」
  • 「0 になるように式を分ける」
  • 「解を求める」

→ StepLibrary の内容をそのままボタン化


🧩 ② ステップ並べエリア(中央)

  • プレイヤーが選んだステップが 縦に積まれていく
  • 各ステップはドラッグで並び替え可能
  • 各ステップをクリックすると「その時点の式」を表示

例:

1. 因数分解する
2. 0 になるように式を分ける
3. 解を求める

🧩 ③ 式の変形ビュー(右側)

  • ステップを選ぶと AI が式の変形を表示
  • 例:
    • 因数分解 → (x - 2)(x - 3)
    • 0 になるように式を分ける → x - 2 = 0, x - 3 = 0
    • 解を求める → x = 2, 3

→ プレイヤーは「何をしたか」を視覚的に理解できる


🧩 ④ 採点ボタン(下部)

押すと:

  • ステップ列の妥当性チェック
  • 飛躍の検出
  • 誤答パターンの検出
  • 最終的な正誤判定
  • 弱点ノードの抽出

を返す。


🔷 3. 最小 MVP(1週間で作れる)

  1. 二次方程式 10 問を ModuleScript に定義
  2. StepLibrary を 6〜8 個だけ実装
  3. ステップ並べ UI を作る
  4. validSteps と比較して採点
  5. 簡易フィードバックを返す

これだけで、
「Roblox 上で動く数学解答構築OS」 の原型が完成する。


🔷 あなたへ

次に進むなら、どちらを先に深掘りしたいですか。

  • ① 二次方程式の問題 10 問を実際に作る(ModuleScript で)
  • ② ステップライブラリ(数学操作ブロック)をもっと増やす
  • ③ UI のワイヤーフレームを描く
  • ④ 採点ロジックの詳細(飛躍判定など)を作る

どれからでも進められます。