Skip to content

WhatRUHuh/LLM-AI-Werewolf-Game

Repository files navigation

AI大模型狼人杀

这是一个基于Python的狼人杀游戏,集成了AI大模型功能,玩家可以与AI角色一起游玩经典的狼人杀桌游。游戏具有直观的图形界面、声音效果和主题切换功能。

功能特点

  • AI角色: 支持多种AI模型,AI角色会根据游戏逻辑和身份进行推理和决策
  • 动态UI: 日夜交替的主题切换,直观反映游戏阶段
  • 声音效果: 集成了声音系统,包括狼嚎声等氛围音效
  • 文字转语音(TTS): 支持AI发言的语音播放
  • 游戏记录: 自动记录游戏过程,便于复盘
  • 身份分配: 支持狼人、预言家、猎人、女巫等多种角色
  • 可定制配置: 自由设置玩家数量、狼人数量和其他身份数量

安装说明

  1. 确保你的系统已安装Python 3.8或更高版本
  2. 克隆此仓库到本地
  3. 安装所需依赖:
pip install -r requirements.txt

使用说明

  1. 首先配置 config.ini 文件,然后运行主程序
  2. 在启动页面点击"开始游戏"进入主界面
  3. 在游戏界面中配置游戏参数(包括玩家数量、狼人数量等)
  4. 点击"应用配置"后即可开始游戏
  5. 在玩家信息栏中配置每个玩家的身份和AI模型
  6. 游戏流程说明:
    • 第0天(警长选举):
      • 无需点击"开始白天发言",直接点击"发言"开始警长选举
      • 进行警长投票(注意:投票相同会作废,包括警长投票)
      • 投票结束后直接进入第1天
    • 白天阶段:
      • 点击"发言"开始白天发言环节
      • 点击"投票"进行白天投票对话
      • 点击"开始白天投票"系统将总结投票结果
    • 夜晚阶段:
      • 点击"开始夜晚回合"进入夜晚
      • 按顺序进行以下操作:
        1. 点击"预言家的投票"(无需点击发言)
        2. 点击"狼人的发言"
        3. 点击"狼人的投票"
        4. 点击"开始夜晚投票"进行杀人
        5. 点击"女巫的投票"进入女巫回合
    • 遗言阶段:
      • 点击"遗言"发表遗言
      • 警长和猎人死亡时会有特殊的投票环节

注意事项

  • 游戏运行时会自动创建 logrecord 文件夹用于存储游戏日志和记录。
  • 有时候会出现问题不会自动删除,所以开始前请删除这些文件夹后重新运行
  • 投票相同会作废(包括警长投票)

游戏规则简介

游戏分为白天和黑夜两个阶段交替进行:

  • 夜晚:狼人可以杀人,预言家可以查验身份,女巫可以使用药水
  • 白天:玩家讨论并投票处决一名玩家

游戏目标:

  • 好人阵营:找出并消灭所有狼人
  • 狼人阵营:消灭足够多的好人,使狼人数量大于或等于好人

技术实现

  • 使用Tkinter和ttkbootstrap构建图形界面
  • 使用pygame处理音效播放
  • 模块化设计,游戏逻辑、UI、声音、AI等组件分离
  • 动态主题切换实现日夜交替效果
  • 使用PIL库处理图像

自定义配置

  • 修改config.ini可以自定义游戏参数
  • 可以替换source目录下的背景图片和声音文件
  • 调整代码中的代理设置以适应您的网络环境

免责声明

本开源项目使用了 edge-tts 工具来实现语音合成功能。edge-tts 工具依赖于 Microsoft Edge 浏览器的 TTS 接口。

在使用本项目之前,请确保您已经安装了 Microsoft Edge 浏览器,并仔细阅读了 Microsoft 的相关条款。

本项目作者不对您因使用本项目而产生的任何法律风险承担责任。

本项目集成了多种第三方AI大模型API,包括但不限于Google Gemini、OpenAI、智谱AI、Cohere、Anthropic等。使用本项目前,请确保您已阅读并同意这些服务提供商的用户协议和隐私政策。

本项目不对这些第三方API的可用性、准确性、适用性作任何保证。使用这些API可能需要您自行申请相应的API密钥,并可能产生相关费用,这些费用由您自行承担。

AI生成的内容可能存在不准确、不适当或有争议的信息,本项目作者不对AI生成内容的准确性和适当性负责。

许可

本项目采用MIT许可证

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages