AstrBot 谁是卧底插件
一个基于 AstrBot 框架开发的谁是卧底游戏插件,支持多人在线参与,自动分配身份和词语,管理游戏流程。
功能特点
- 🎮 多人在线游戏:支持多个玩家同时参与游戏
- 🔄 自动身份分配:根据玩家数量自动计算并分配卧底数量
- 📝 完整游戏流程:创建房间 → 加入游戏 → 开始游戏 → 轮流发言 → 投票淘汰 → 判定胜负
- 📚 词语库管理:内置15组常用词语,支持玩家自定义添加
- 📖 清晰的指令系统:提供完整的游戏指令,方便玩家操作
- ⚖️ 公平的游戏机制:随机分配身份和词语,确保游戏公平性
安装方法
- 将插件目录
astrbot_plugin_Undercover复制到 AstrBot 的插件目录下 - 重启 AstrBot 即可自动加载插件
使用说明
1. 创建游戏
/undercover create
创建一个新的游戏房间,系统会分配一个唯一的房间号。
2. 加入游戏
/undercover join <房间号>
使用房间号加入指定的游戏房间。
3. 开始游戏
/undercover start
只有房主可以使用此指令开始游戏。游戏开始后,系统会自动分配身份和词语。
4. 发言
/undercover say <内容>
在游戏中发言,所有玩家都能看到。
5. 投票
/undercover vote <玩家>
投票淘汰你认为是卧底的玩家。
6. 结束游戏
/undercover end
只有房主可以使用此指令结束游戏。
7. 添加词语
/undercover add <词语1> <词语2>
添加自定义词语对到词语库中。
8. 查看游戏列表
/undercover list
查看当前所有游戏房间的状态。
9. 离开游戏
/undercover leave
离开当前所在的游戏房间。
游戏规则
身份分配:
- 4-5人:1个卧底
- 6-7人:2个卧底
- 8-10人:3个卧底
游戏流程:
- 游戏开始后,每个玩家会获得一个词语
- 平民获得相同的词语,卧底获得与之相似但不同的词语
- 玩家轮流发言,描述自己的词语
- 发言结束后,玩家投票淘汰可疑玩家
- 被淘汰的玩家身份和词语会被公开
- 重复上述过程,直到一方胜利
胜负判定:
- 平民胜利:所有卧底被淘汰
- 卧底胜利:卧底数量 ≥ 平民数量
指令列表
| 指令 | 功能 | 权限 |
|---|---|---|
/undercover create |
创建游戏房间 | 所有人 |
/undercover join <房间号> |
加入游戏房间 | 所有人 |
/undercover start |
开始游戏 | 房主 |
/undercover leave |
离开当前房间 | 所有人 |
/undercover say <内容> |
游戏中发言 | 游戏中玩家 |
/undercover vote <玩家> |
游戏中投票 | 游戏中玩家 |
/undercover end |
结束游戏 | 房主 |
/undercover add <词语1> <词语2> |
添加词语对 | 所有人 |
/undercover list |
查看游戏列表 | 所有人 |
/undercover |
查看帮助信息 | 所有人 |
内置词语库
插件内置了15组常用词语对,包括:
- 苹果 - 梨
- 电脑 - 手机
- 篮球 - 足球
- 牛奶 - 豆浆
- 面包 - 蛋糕
- 红色 - 蓝色
- 猫 - 狗
- 书 - 杂志
- 沙发 - 椅子
- 电视 - 电影
- 自行车 - 电动车
- 火车 - 高铁
- 飞机 - 直升机
- 老师 - 学生
- 医生 - 护士
开发说明
项目结构
astrbot_plugin_Undercover/
├── main.py # 插件主代码
├── metadata.yaml # 插件元数据
├── README.md # 插件说明文档
├── LICENSE # 许可证文件
└── word_pairs.json # 词语库文件(自动生成)
技术栈
- Python 3.8+
- AstrBot 框架
许可证
AGPL-3.0 License
贡献
欢迎提交 Issue 和 Pull Request 来帮助改进这个插件!
联系方式
如有问题或建议,可以通过以下方式联系:
- 提交 Issue 到 GitHub 仓库
- 加入 AstrBot 开发者交流群
享受游戏! 🎉