ChatGPT によるリバーシゲームに機能追加してみます。
概要
ChatGPT によるリバーシの作成で、作ったゲームに機能を追加してみました。
現時点では、機能追加と問題解決をすべてをチャットで行うにはまだ無理がありそうです。
また機能追加によりコードが長くなると、「生成を続ける」待ちになり面倒です。
機能追加概要
「チャットを続けて機能を追加する」方針で、下記機能を追加します。
- 駒を四角から丸に変更
- ゲームの履歴を追加
- 駒位置を示す番号を枠外に追加
- 「もどす」・「すすむ」機能追加
- パス機能を追加
機能追加中にあった問題
問題の指摘だけでは直らないケースもあり、その場合は改善方法を指摘する必要がある。
ただし、問題発生と変更の無限ループになる場合があり、チャットでの改善には今のところ限界がありそうです。
- 盤面が長方形になった
- プロンプトで長方形を指摘すると、CSS で調整を行うが、直らない
- 盤面を table タグで実装していたためそれを指摘すると、div と CSS に変更
- ゲームを始めると、ゲームの履歴表示で盤面の表示位置がずれる
- 問題を指摘しただけでは直らず、履歴の横幅を固定長にするように指示
- 機能追加により、エラーが生じるケースあり
- html を変更して、 JavaScript コードの対応が漏れていた
- 機能追加・問題点を指摘するとその問題は解決するが、以前の問題が復活する
- 「駒位置を示す番号を枠外に追加」でエラーが発生し、指摘すると番号が表示されなくなる
- その繰り返しで、実装が進められない
現時点での状況
機能追加すると以前の問題を復活する場合があり、すべての機能追加が出来ていない状態です。
- 駒を四角から丸に変更
- OK
- ゲームの履歴を追加
- OK
- 駒位置を示す番号を枠外に追加
- 機能追加とエラーの繰り返しで、実装を断念
- 「もどす」・「すすむ」機能追加
- 単純に「もどす」・「すすむ」を行った場合はOK
- 「もどす」後に、別の手順を行うとNG
- さらに機能追加が必要
- パス機能を追加
- 駒を置く場所が無いとアラートなしで、別プレーヤーの順番になる
- 順番が変わったのがわかりにくいので、アラート表示が必要
チャットの内容