スポンサーリンク

AIが勝つ?負ける?Scratchで作るじゃんけんプログラム

スポンサーリンク
ScratchでAIを学ぼう!ブロックプログラムで簡単AI
スポンサーリンク

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じゃんけんを作って、友達や家族と勝負してみてください。

コメント

タイトルとURLをコピーしました