この投稿は、#ぷよらーアドカレ2024並走部 の企画によって生まれたものです。
私は#ぷよらーアドカレ2024 の最終日担当なのですが、並走し足りないので再度書いてみることにしました。
ちなみに前回の並走記事は
こちら
目標
生成AIを使って、コピペのみでぷよぷよシミュレータを作ってみること。
使用AI
ChatGPT o1
過程
まずはプロンプトを与えます。
「ぷよぷよシミュレータをpythonで実装してください。私のvscodeの環境で実行できるように、手順をステップバイステップで示してください。」
すると手順とコードを出してくれるので、それをコピペして実行してみます。
ターミナルに何か出てきました。どうやら、ランダムに置いて連鎖が発生したら連鎖数が表示されるようです。これではまだシミュレータとは言えませんね。Pygameというゲーム用のモジュールを使って、ウィンドウ上で直接操作できるようにしてみましょう。
「pygameを使って、ウィンドウ上で矢印キーで左右下の操作ができるようにしてください。回転はZが左回転、Xが右回転です。」
ちぎれてくれません。しかも、回転の判定が短すぎて、一瞬押しただけで10回くらい回転してしまいます。
そこで、修正依頼を以下のようにプロンプトとして与えてみます。
「片方のぷよが接地したときにもう片方が接地していない場合は、ぷよがちぎれてもう片方が接地するまで落下するようにしてください。また、回転は押しっぱなしでも1回だけしか反応しないようにしてください。」
すると、ちぎる事には成功しましたが直後にエラーが出てウィンドウが消えてしまいました。以下のエラーをプロンプトとしてそのまま伝えてみます。
unsupported = [b for b in supports if not b[3]][0]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
上手くちぎれました!また、連鎖もしっかり消えていることが確認できました。
結果
コピペだけで作れた。
AIとのやり取りやコードの全体は
こちら
思ったこと
o1-miniや4oだと上手く作れなかったので、ぷよぷよは意外と難しいゲームなのかもしれない。
4oのコピペ出力のみで作る事にも挑戦してみたい。