落武者戦闘服の雑多な日記

40代サラリーマンの雑多な日記です。

数当てゲームからRPGまで、ChatGPTが即コード生成

こんばんは。落武者戦闘服です。

プログラミングの学習もChatGPTならすぐ、というのはよくみるので、実際にChatGPTとやりとりしてpythonコードを出力して、クラウド上の実行環境で実行まで試してみました。
ChatGPTにお願いしてみたら、ものの10秒でコードを出力してくれました。

ChatGPTが10秒でゲームを作る

最初に試したのは、シンプルな「数当てゲーム」。
「1から100までのランダムな数を当てるゲームを作って」とお願いすると、すぐにPythonのコードを出力してくれました。

import random

def number_guessing_game():
    target = random.randint(1, 100)
    while True:
        guess = int(input("予想を入力: "))
        if guess < target:
            print("もっと大きいです!")
        elif guess > target:
            print("もっと小さいです!")
        else:
            print("正解!")
            break
number_guessing_game()

実際に試してみると、ちゃんと動く!10秒で作れるなら、プログラミング初心者でもすぐに試せますね。

 

もう少し複雑なゲームも

せっかくなので、「もう少し複雑なゲームも作って」と頼んでみました。すると、敵と交互に攻撃するRPG風バトルを出力してくれました。

class Character:
    def __init__(self, name, hp, attack):
        self.name = name
        self.hp = hp
        self.attack = attack

    def attack_enemy(self, enemy):
        damage = random.randint(self.attack // 2, self.attack)
        enemy.hp -= damage
        print(f"{self.name}の攻撃!{enemy.name}に{damage}のダメージ!")

player = Character("勇者", 30, 10)
enemy = Character("スライム", 20, 8)

while player.hp > 0 and enemy.hp > 0:
    player.attack_enemy(enemy)
    if enemy.hp <= 0:
        print("スライムを倒した!")
        break
    enemy.attack_enemy(player)
    if player.hp <= 0:
        print("勇者は倒れた…")
        break

しっかりダメージ計算がランダムになっていて、ちゃんと戦闘してる感はでています。
初期のドラクエとかの戦闘プログラムくらいだったらこれにちょっと毛が生えたくらいのコードなんでしょうね。

それぞれのコードの意味もChatGPTにそのまま聞けば教えてくれます。

Google Colabで即実行!Pythonゲーム開発は簡単

Pythonの環境を準備するのが面倒…」と思うかもしれません。でも**Google Colaboratory(Google Colab)**を使えば、ブラウザ上ですぐに実行できます!

colab.research.google.com

これなら、Python初心者でも環境構築なしでゲーム開発を楽しめます。
動くことを確認できたら、適当にコードを改変して動作の変化を確認することで勉強にもなりそうですね。

 

ChatGPTに頼めば、10秒でゲームのコードが手に入るし、Google Colabを使えばすぐに実行できる。
Pythonでゲームを作ってみたい!」という人は、ぜひ試してみてください!

昔だったら、入門書籍を買ったり、入門サイトを見てコード例を読みながら、**自前のサーバなのかクラウド上にミニマムなインスタンスを立てて、Pythonをインストールして…**と、ここまでたどり着くのに結構な苦労がありました。それが今では、ブラウザを開いてChatGPTに聞けば即コードが出力され、Google Colabですぐ実行できる。隔世の感がありますね…。