littlebot
Published on 2025-04-11 / 1 Visits
0

【源码】基于Python和Turtle的AI策略游戏平台

项目简介

本项目是基于Python和Turtle图形库搭建的AI策略游戏平台。该平台集成了井字棋、围棋等多种经典策略游戏,同时引入OpenSpiel的AI算法与语音识别模块。借助Turtle库实现图形化界面,支持鼠标和语音输入,玩家既能与AI对战,也能通过语音控制游戏。此外,还拓展了Free Python Games中的部分游戏,增强了可玩性与教育意义。

项目的主要特性和功能

  1. 多种策略游戏支持:涵盖井字棋、围棋、Hex、Havannah等经典策略游戏,每个游戏都有图形化界面与AI对战功能。
  2. AI对战:采用OpenSpiel的蒙特卡洛树搜索(MCTS)算法,AI可根据游戏状态智能决策,玩家能与AI对战。
  3. 语音识别:集成语音识别模块,支持语音输入控制游戏,适用于不便使用鼠标的场景。
  4. 图形化界面:使用Turtle库实现,界面简洁直观,操作方便。
  5. 拓展功能:对Free Python Games中的Snake和Paint游戏进行功能拓展,增加新玩法与交互方式。
  6. 跨平台支持:在Windows 11和Ubuntu 20.04.4 LTS上测试通过,兼容性良好。

安装使用步骤

环境配置

  1. 创建Python环境bash conda create -n openspiel python=3.9 conda activate openspiel
  2. 安装依赖库
  3. OpenSpielbash pip install open_spiel pip install tensorflow
  4. Speech Recognitionbash pip install PyAudio Vosk sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
  5. Free Python Gamesbash pip install freegames
  6. 下载并配置Vosk中文模型:从Vosk模型下载页面下载中文模型(如vosk-model-cn-0.22),解压到项目根目录的model文件夹下。

运行游戏

  1. 启动游戏:在项目根目录下运行以下命令启动游戏: bash python main.py -g <游戏名称> -t <输入类型> -s <蒙特卡洛迭代次数> 例如,启动围棋游戏: bash python main.py -g Go
  2. 命令行参数说明
  3. -g:指定游戏名称(如TictactoeGoHex等)。
  4. -t:指定输入类型(mousevoice,默认为mouse)。
  5. -s:指定蒙特卡洛算法的迭代次数(默认为1000)。
  6. 游戏操作
  7. 鼠标输入:在游戏界面点击鼠标操作。
  8. 语音输入:使用语音输入时,系统提示合法操作选项,玩家通过语音输入数字操作。

拓展游戏

  1. Snake
  2. 启动贪吃蛇游戏: bash python main.py -g snake
  3. 游戏支持蛇头穿越边界、限制转向、复活等功能。
  4. Paint
  5. 启动绘图游戏: bash python main.py -g paint
  6. 支持绘制线段、正方形、圆形、长方形、三角形等图形,可选择填充颜色。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】