スポンサーリンク
ChatGPTを利用して、Pythonで動作するシューティングゲームを作成させてみました。
1回のプロンプトでは要求を満たさない結果となったので、2回目で修正依頼をすることで、想定通りのシューティングゲームを作成することができました。
プロンプト1
まず以下仕様で、ChatGPTにソースコード作成依頼をしてみました。
送信メッセージ1
ChatGPT回答1
Pythonでシューティングゲームを作成するためには、Pygameライブラリを使用します。
以下に、仕様を満たすソースコードを提供します。
必要なライブラリ
まず、Pygameをインストールする必要があります。以下のコマンドを使用してインストールしてください。
ソースコード
次に、以下のソースコードを shooting_game.py というファイル名で保存してください。
起動方法
上記のソースコードを shooting_game.py というファイル名で保存します。
コマンドラインまたはターミナルで以下のコマンドを実行してゲームを起動します。
操作方法・仕様の説明
- 矢印キーで実機を上下左右に移動できます。
- スペースキーで弾を発射できます(長押しで連射可能)。
- 敵や敵の弾に当たるとライフが1つ減り、ライフが0になるとゲームオーバーです。
- 敵を倒すとスコアが100増えます。
- スコアは画面左上に SCORE として表示されます。
- ライフは画面右上に LIFE として表示されます。
- ゲームオーバー後はEnterキーでゲームを再開できます。
- このコードをコピーして実行すれば、指定された仕様を満たすシューティングゲームが動作します。
動作テスト1
まず回答の指定通り、pygame
をインストールしました。
shooting_game.py
ファイルを保存し、以下コマンドで起動します。
実行中画面1
ゲームが起動しましたが、動きがもっさりとしていました。
また、弾の発射はできましたが、連射ができませんでした。
ゲームオーバー画面1
ライフが0になるとゲームオーバーになり、Enterキーでリスタートできました。
こちらは想定通りの動きです。
プロンプト2
弾の連射ができないことと、動きがもっさりしていたので、以下の通り修正依頼をすることにしました。
送信メッセージ2
ChatGPT回答2
連射機能と動作のスムーズさを改善するために、次のようにコードを更新します。
- 連射機能のために、弾の発射にクールダウン(発射間隔)を設定します。
- 動作をスムーズにするために、フレームレートを管理し、更新を高速化します。
以下の修正されたソースコードを shooting_game.py にコピーして実行してください。
この修正後のコードは、以下の改善点があります:
- スペースキーを長押しで連射ができるようにしました。
- クロックオブジェクトを使ってフレームレートを60FPSに設定し、動作をスムーズにしました。
これで、よりスムーズな動作と連射機能を備えたシューティングゲームを楽しむことができます。
動作テスト2
ChatGPTの回答通り、連射ができるようになり、動きもスムーズになりました!
実行中画面2
ゲームオーバー画面2
まとめ
- ChatGTPでソースコードを作成する際は、具体的な仕様を記載する。
- 記載した仕様が満たされていない場合は、修正依頼をする必要がある。
以上で本記事の解説を終わります。
よいITライフを!