Snake:贪吃蛇游戏 AI 版,通过算法实现让小蛇通过吃豆
Snake:贪吃蛇游戏 AI 版,通过算法实现让小蛇通过吃豆,最后蛇的身体填满整个地图算结束。该项目详细描述实现思想以及相关算法的讨论
Python 游戏开发
共1185Star
详细介绍
Snake
The project focuses on the artificial intelligence of the Snake game. The snake's goal is to eat the food continuously and fill the map with its bodies as soon as possible. Originally, the project was written in C++. It has now been rewritten in Python for a user-friendly GUI and the simplicity in algorithm implementations.
Experiments
We use two metrics to evaluate the performance of an AI:
- Average Length: Average length the snake has grown to (max: 64).
- Average Steps: Average steps the snake has moved.
Test results (averaged over 1000 episodes):
Solver | Demo (optimal) | Average Length | Average Steps |
---|---|---|---|
Hamilton | 63.93 | 717.83 | |
Greedy | 60.15 | 904.56 | |
DQN (experimental) |
24.44 | 131.69 |
Installation
Requirements: Python 3.5+ (64-bit) with Tkinter installed.
$ pip3 install -r requirements.txt
# Use -h for more details
$ python3 run.py [-h]
Run unit tests:
$ python3 -m pytest -v
License
See the LICENSE file for license rights and limitations.