项目简介
本项目是基于Python和Turtle图形库搭建的AI策略游戏平台。该平台集成了井字棋、围棋等多种经典策略游戏,同时引入OpenSpiel的AI算法与语音识别模块。借助Turtle库实现图形化界面,支持鼠标和语音输入,玩家既能与AI对战,也能通过语音控制游戏。此外,还拓展了Free Python Games中的部分游戏,增强了可玩性与教育意义。
项目的主要特性和功能
- 多种策略游戏支持:涵盖井字棋、围棋、Hex、Havannah等经典策略游戏,每个游戏都有图形化界面与AI对战功能。
- AI对战:采用OpenSpiel的蒙特卡洛树搜索(MCTS)算法,AI可根据游戏状态智能决策,玩家能与AI对战。
- 语音识别:集成语音识别模块,支持语音输入控制游戏,适用于不便使用鼠标的场景。
- 图形化界面:使用Turtle库实现,界面简洁直观,操作方便。
- 拓展功能:对Free Python Games中的Snake和Paint游戏进行功能拓展,增加新玩法与交互方式。
- 跨平台支持:在Windows 11和Ubuntu 20.04.4 LTS上测试通过,兼容性良好。
安装使用步骤
环境配置
- 创建Python环境:
bash conda create -n openspiel python=3.9 conda activate openspiel
- 安装依赖库:
- OpenSpiel:
bash pip install open_spiel pip install tensorflow
- Speech Recognition:
bash pip install PyAudio Vosk sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
- Free Python Games:
bash pip install freegames
- 下载并配置Vosk中文模型:从Vosk模型下载页面下载中文模型(如
vosk-model-cn-0.22
),解压到项目根目录的model
文件夹下。
运行游戏
- 启动游戏:在项目根目录下运行以下命令启动游戏:
bash python main.py -g <游戏名称> -t <输入类型> -s <蒙特卡洛迭代次数>
例如,启动围棋游戏:bash python main.py -g Go
- 命令行参数说明:
-g
:指定游戏名称(如Tictactoe
、Go
、Hex
等)。-t
:指定输入类型(mouse
或voice
,默认为mouse
)。-s
:指定蒙特卡洛算法的迭代次数(默认为1000)。- 游戏操作:
- 鼠标输入:在游戏界面点击鼠标操作。
- 语音输入:使用语音输入时,系统提示合法操作选项,玩家通过语音输入数字操作。
拓展游戏
- Snake:
- 启动贪吃蛇游戏:
bash python main.py -g snake
- 游戏支持蛇头穿越边界、限制转向、复活等功能。
- Paint:
- 启动绘图游戏:
bash python main.py -g paint
- 支持绘制线段、正方形、圆形、长方形、三角形等图形,可选择填充颜色。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】