ルルのゲーム開発備忘録

主にUnityやC#に関する情報を気まぐれに投稿していきま~す

【C#】ChatGPTに「C#でじゃんけんのプログラムかいて」ってお願いしてみた!

ChatGPTにお願いだ!

最近何かと話題のChatGPT*1*2をつかって、C#でじゃんけんのプログラムを書かせてみました!

使ったツール

LINEのアプリの「AIチャットくん」*3を使いました。「AIチャットくん」は「ChatGPT」のAPIを利用した3/2に提供されたばかりのLINEアプリです。

利用方法がめちゃくちゃ簡単で、LINEに友達追加するだけです。ほかの認証などは一切不要でお手軽に試せました。

1日10回までは無料で、月額課金でもっと利用できるみたいです。

AIチャットくんとのやり取りの様子

AIチャットくん
AIチャットくん

生成してくれたC#のじゃんけんコード

いい感じの変数名やコメントアウトまで書いてくれてる!

using System;

class Program
{
    static void Main(string[] args)
    {
        Random rnd = new Random();    // 乱数生成器を作成
        int playerHand, cpuHand;      // プレーヤーとコンピュータの出手を表す変数

        Console.WriteLine("じゃんけんをしましょう!\n");
        Console.WriteLine("0: グー / 1: チョキ / 2: パー");
        Console.Write("あなたの出す手を選択してください(0〜2の整数を入力): ");

        while (true)
        {
            if (int.TryParse(Console.ReadLine(), out playerHand))
            {
                if (playerHand >= 0 && playerHand <= 2)
                    break;
            }
            Console.WriteLine("正しい値を入力してください(0〜2の整数)");
        }

        cpuHand = rnd.Next(3);        // 0〜2のランダムな整数を生成
        Console.WriteLine($"あなた:{HandToString(playerHand)} / CPU:{HandToString(cpuHand)}");

        if (playerHand == cpuHand)
            Console.WriteLine("あいこです!");
        else if ((playerHand == 0 && cpuHand == 1) || (playerHand == 1 && cpuHand == 2) || (playerHand == 2 && cpuHand == 0))
            Console.WriteLine("あなたの勝ちです!");
        else
            Console.WriteLine("あなたの負けです!");
    }

    // 数値で表された手を文字列に変換するメソッド
    static string HandToString(int hand)
    {
        switch (hand)
        {
            case 0:
                return "グー";
            case 1:
                return "チョキ";
            default:
                return "パー";
        }
    }
}

生成されたコードの動作確認

コンソール用のVisualStudioプロジェクトを作成して確認。
コンパイルエラーも出ずに、ちゃんと動いてる。

動作確認
動作確認

まとめ

初めて使ってみましたが話題になってるだけあってすごいですね。今後プログラム作業の補助として活用していければと思いました!