今回もAIにシナリオを考えてもらって、それを代案にしてみたいと思います。
AIに聞いてみた
- 基礎編のシナリオを考えて
- ChatGPT : 基礎編を細かいシナリオ形式で組み立てました。
以下はストーリーと学習内容を絡めた形の提案です。
プロローグ:冒険の始まり
ストーリー
あなたは「コード王国」の新米プログラマー。
王国が魔法エラーに覆われてしまい、修復するためにプログラミングを学びながら旅に出ることに。
目的
「基礎の塔」でプログラミングの基本を学び、次の冒険に備える。
レベル1:変数の学習
シナリオ
王国の武器庫でアイテムを準備する場面。
NPC(鍛冶屋)があなたに話しかけます。
鍛冶屋: 「君の持ち物を管理するため、リストを作ってくれないか?」
タスク
以下の変数を定義して、所持アイテムをリストアップ。
let sword = "鉄の剣";
let shield = "木の盾";
let potion = "回復の薬";
console.log(sword, shield, potion);
解説
letを使って変数を宣言。
変数の中に文字列(文字データ)を格納。
レベル2:条件分岐
シナリオ
ダンジョンの入口で魔法の扉があなたを試す。
扉: 「カギを持っている者だけ通れる!」
カギを所持しているかを確認するコードを書く必要がある。
タスク
カギがある場合は「扉が開いた!」、ない場合は「カギが必要だ!」と表示する。
let hasKey = true; // カギを所持している場合はtrue、ない場合はfalseにする
if (hasKey) {
console.log("扉が開いた!");
} else {
console.log("カギが必要だ!");
}
解説
条件分岐(if-else構文)の使い方。
trueとfalseは論理値(Boolean型)であり、条件の判定に利用される。
レベル3:ループ処理
シナリオ
ダンジョン内で5つの宝箱をすべて開ける必要がある。
案内役の精霊: 「すべての宝箱を開けるには、繰り返しの力を使うんだ!」
タスク
5つの宝箱を順に開けるコードを作成する。
for (let i = 1; i <= 5; i++) {
console.log(`宝箱${i}を開けた!`);
}
解説
forループの基本構文。
ループカウンタ(i)を利用して回数を制御。
レベル4:関数の基礎
シナリオ
敵の出現!攻撃を繰り出すために魔法の呪文(関数)を作る必要がある。
案内役の精霊: 「攻撃をするコードを書いてみて!」
タスク
敵にダメージを与える関数を作成して呼び出す。
function attack() {
console.log("敵に10ダメージを与えた!");
}
attack(); // 関数を呼び出す
解説
関数(function)の作成と呼び出し方。
コードを再利用可能な部品として分割する概念。
レベル5:簡単な応用問題
シナリオ
ダンジョンの最後にいる守護者が質問を出す。
守護者: 「この数式の結果を計算せよ!」
タスク
簡単な数値計算を行い、結果を表示する。
let num1 = 7;
let num2 = 3;
let result = num1 * num2 - num2;
console.log(`答えは: ${result}`);
解説
四則演算の基本(+, -, *, /)。
計算結果を変数に代入し、出力する。
エピローグ:次の冒険へ
ストーリー
基礎の塔をクリアしたあなたは、新たな冒険(応用編)への扉を開く準備が整いました!
NPCが新しいミッションを提示して次のエリアへ案内します。
提案を元に考える
なかなか、ゲームのシナリオになっていてかなり良い感じに仕上がっています。
基礎的なプログラミング学習と、ゲームプレイヤーのキャラクターに関する装備や、攻撃などの初期設定をプログラミングに絡めている点はなかなか参考になります。
ゲームとしては、それぞれのレベルに関して、同じ様な練習問題などをたくさん用意して、それらを繰り返し学習して、基礎学習として身につける方式にしたいので、
レベルに応じて複数の問題と、もう少しキャラクターパラメータに依存する変数などを組み込みたいのと、
定数や、型なども、基礎学習として盛り込みたいと思います。
あとがき
AIにアイデア出しをしてもらうのが非常に効率的にできる事がよくわかる今回の作業内容です。
プロンプト(AIへの質問)にもっと細かな指定をすれば、かなり的を得た返答をしてくれるので、本当に便利ですね。
あと、前回のやりとりなどを踏襲して返答してくれるのは、一問一答方式じゃなくてちゃんと会話している感じになるのが非常にありがたいですね。
ただ、個人的に危惧しているのは、AIは、感動するストーリーを生み出してくれるのか?というのは、まだあまり期待していないので、
こうした感情を揺さぶる様な思考はちゃんと自分で構築していこうと思います。
そして、また一歩ゲーム制作が進捗した事を喜びたいと思います。
0 件のコメント:
コメントを投稿