AIが勝つ?負ける?Scratchで作るじゃんけんプログラム
Scratchを使えば、初心者でもかんたんにAIを活用したゲームを作ることができます。今回は、子どもから大人まで楽しめる「じゃんけんプログラム」をAIで実装する方法を、ステップごとに解説します。プログラミング未経験の方でも挑戦できる内容なので、ぜひ一緒に作ってみましょう。
1. ScratchとAIじゃんけんの仕組み
じゃんけんプログラムは、プレイヤーが出した手とコンピューター(AI)が出した手を比較し、勝敗を判定します。AIを使うことで、ランダムな手の生成だけでなく、プレイヤーの過去の出し手から傾向を学び、戦略的に勝とうとする動きも可能になります。
本記事では、基本版(ランダム生成)と応用版(学習型AI)の2パターンを作ります。
2. 準備するもの
- Scratchアカウント(公式サイトで無料登録)
- インターネット接続環境
- ブラウザ(Chrome推奨)
3. 基本版じゃんけんプログラムの作り方
3-1. スプライトの準備
Scratchで新しいプロジェクトを開き、以下のスプライトを用意します。
- プレイヤーの手(グー・チョキ・パー)
- コンピューターの手(グー・チョキ・パー)
- 勝敗表示用のテキストスプライト
3-2. プレイヤーの入力
「もし〜なら」ブロックを使い、キーボード入力で手を選択できるようにします。
もし [スペースキー] が押されたなら 変数[プレイヤーの手] を [グー] にする
3-3. コンピューターの手をランダムに生成
変数「コンピューターの手」を作成し、以下のように設定します。
変数[コンピューターの手] を [1から3までの乱数] にする もし 1 なら [グー] もし 2 なら [チョキ] もし 3 なら [パー]
3-4. 勝敗判定ロジック
プレイヤーの手とコンピューターの手を比較し、勝ち・負け・あいこを表示します。
もし <(プレイヤーの手) = (コンピューターの手)> なら 「あいこ」と表示 でなければ (勝ちパターンなら「勝ち」、それ以外は「負け」)
4. 応用版:学習型AIじゃんけん
より面白くするために、AIがプレイヤーの過去の手を記録し、次に出す手を予測する機能を追加します。
4-1. 過去データの保存
変数「プレイヤーの履歴」を作り、毎回の手を追加していきます。
変数[履歴] に (プレイヤーの手) を追加
4-2. 傾向分析
履歴の中で最も多く出された手を調べ、それに勝てる手をAIが選びます。
もし 履歴で一番多い手 = グー なら AIはパーを出す
5. 改良ポイント
- スプライトのデザインをかわいくカスタマイズ
- 勝敗数や連勝記録を表示
- 背景にアニメーションを追加
- 音声認識で手を出す機能
6. 学びのポイント
このじゃんけんプログラムを作ることで、以下のスキルが身につきます。
- 条件分岐の理解(if文)
- 変数とリストの使い方
- 乱数の活用方法
- AI的思考(過去データから予測)
まとめ
Scratchは初心者でもゲーム作りやAIの基礎を学べる素晴らしいツールです。今回紹介したじゃんけんプログラムは、基本版から始めて、徐々に学習型AIやデザインの改良を加えることで、より面白く、学びの多い作品になります。ぜひ自分だけのAIじゃんけんを作って、友達や家族と勝負してみてください。
コメント