(1)ヘビが一歩踏み出すたびに、BFSを使用して、ゲームインターフェイスの各位置(ヘビの体を除く)の食品までの最短経路長が計算されます。
(2)ヘビの安全性は、ヘビがヘビの尾をたどることができるかどうか、つまり、ヘビの頭と尾の間に経路があるかどうかとして定義されます。
(3)ヘビは、各アクションの前に仮想スネークを使用してパスを探索します。仮想スネークが食べ物を食べた後に安全である場合、本物のスネークが動作します。
(4)ヘビと食べ物の間に経路がない場合、または食べ物を食べた後に安全でない場合は、ヘビの尾をたどってください。
(5)ヘビと食べ物の間、ヘビとヘビの尻尾の間に道がない場合は、実行可能なステップを選んで歩いてください。
(6)ヘビが食べ物をとるときはターゲットが最短の経路であり、ターゲットが尾であるときは最長の経路であることを確認します。
食べ物はランダムに現れるので、仮想のヘビが走って食べ物を食べるのが危険だとわかった場合、本物のヘビは食べ物を食べませんが、ヘビの尻尾を追いかけることを選択します。これを続けると、無限のループに陥ります。蛇の尻尾を追いかけて走り回っています。 。 。
ゲームを終了するまで。 。 。
pygameモジュールとPythonに付属するいくつかのモジュール。
Pythonをインストールして環境変数に追加すると、pipは必要な関連モジュールをインストールします。
cmdウィンドウで AI_snake.py
ファイルを実行します。
GIFのアップロードが失敗し続けます。 。 。
だから、写真を数枚カットしてください〜
(1)コードをシンプルで理解しやすいものにするために、提供されたコードは冗長性が高く(たとえば、不必要な繰り返し計算)、興味のある人はコードを最適化できます。
(2)スネークゲームの通常バージョン(Normal_snake.py)も関連ファイルで提供されています。
Recommended Posts