Skip to main content

犯人在跳舞

Project description

犯人在跳舞 0.2.0

祝各位新年快乐~

PyPI - Python Version PyPI - Downloads PyPI - License PyPI

基于ayaka的文字版桌游!

得益于ayaka,本插件可作为如下机器人框架的插件使用

也可将其作为console程序离线运行

nonebot2 安装本插件

pip install criminal_dance

hoshino 安装本插件

  • 从github仓库下载
  • 安装依赖pip install -r requirements.txt
  • criminal_dance/criminal_dance文件夹放入hoshino/modules
  • hoshino/config/__bot__.py中的MODULES_ON里,写入字符串criminal_dance

作为console程序离线运行

# run.py
import ayaka.adapters.console as cat
import criminal_dance
if __name__ == "__main__":
    cat.run()
python run.py

帮助

[犯人在跳舞]
3-8人游玩,游玩前请先加bot好友,否则无法发牌。90s内不出牌会被系统强制弃牌(防止挂机)
- 犯人在跳舞 唤醒猫猫
[*]
- 卡牌帮助 <卡牌名> 获取相应的帮助
- 详细帮助 
- 牌库规则 
- 绑定私聊 <qq uid> 频道用户请使用该命令
- 退出游戏 
- 局势 查看场面局势
- 手牌 展示手牌
[room]
- 加入 加入房间
- 离开 离开房间
- 房间 查看房间信息
- 开始 开始游戏

使用流程

所有参与者都要提前加bot的qq好友,以便bot通过私聊发消息给你们

  • 发送犯人在跳舞,启动猫猫并创建游戏房间,发起者自动位于1号位
  • 频道用户需要额外发送绑定私聊 12345678,绑定自己的qq号
  • 随后其他人发送加入,根据加入顺序确定座次
  • 人数满足要求后,发送开始开始游戏,bot将通过私聊告知手牌
  • 之后在群里发送卡牌名称即可打出此卡!
  • 发送退出游戏,关闭猫猫!

卡牌帮助

[第一发现人] 一切都是由您开始。打出时没有特别效果
[共犯] 打出这张牌成为共犯。当犯人获胜时,您也获得胜利。当犯人输掉游戏时,您也跟着输掉游戏
[犯人] 您是犯人,不能让其他玩家知道。您只能在只剩下这张手牌时才能打出这张牌,如果您要这么做,您获胜
[不在场证明] 只要有了这个,您就不是犯人了。打出时没有特别效果。如果您有犯人和不在场证明,侦探质疑时您可以否认
[侦探] 您的手牌<=2才能打出这张牌。打出时质疑另一位玩家,如果该玩家持有犯人,您获胜
[普通人] 打出时没有特别效果
[谣言] 所有玩家随机抽一张他下家玩家的手牌
[情报交换] 所有玩家把一张牌传给他上家玩家
[目击者] 看另一个玩家的手牌
[交易] 和至少还有1张手牌的玩家交换一张手牌。如果这是您打出的最后一张牌,则没有特别效果
[神犬] 选择一个玩家。该玩家弃掉他其中的一张手牌,并且获得神犬。如果他弃掉一张犯人牌,您获胜
[警部] 手牌<=2时,选定一个玩家放置此牌,若其最终打出犯人牌,您获得游戏胜利

详细帮助

开局每人4张手牌,轮流出牌,整局游戏的第一张牌必须是{R.第一发现人}(类似扑克规则中的红桃3)

游戏分为好人阵营和坏人阵营,默认都是好人,而最终打出{R.犯人}牌的人作为坏人而胜利
但{R.犯人}牌只有在手牌数为1的时候才能打出,此时打出者作为{R.犯人}而胜利
其他人的目标就是在{R.犯人}逃跑成功之前,通过{R.侦探}、{R.神犬}、{R.警部}等牌抓到{R.犯人},此时好人阵营胜利
当你打出{R.共犯}牌后,你便加入了坏人阵营,需要协助{R.犯人}获胜
当然,你也可以当个二五仔,若{R.共犯}使用{R.侦探}等牌抓到了{R.犯人},那么他也视为好人阵营一同胜利

根据参与人数的不同,牌库的牌也不同,具体规则请发送 牌库规则 进一步了解

此外,当游戏进行中时,还有如下命令
局势:获得游戏进行情况等信息
手牌:获得你当前的手牌情况(bot私聊告知)

牌库规则

3人局,必须有第一发现人、犯人、侦探、不在场证明,加其他任意8张牌
4人局,必须有第一发现人、犯人、侦探、不在场证明、共犯,加其他任意11张牌
5人局,必须有第一发现人、犯人、侦探、不在场证明*2、共犯,加其他任意14张牌
6人局,必须有第一发现人、犯人、侦探*2、不在场证明*2、共犯*2,加其他任意16张牌
7人局,必须有第一发现人、犯人、侦探*2、不在场证明*3、共犯*2,加其他任意19张牌
8人局,加全部

配置

data/ayaka/犯人在跳舞.json

属性 意义
overtime 超时限制,超时后系统会自动出牌,防止挂机
auto_card_help 自动卡牌帮助,每打出一张牌后bot都会发送帮助,等参与玩家熟悉规则后,可以关闭该配置
rename 重命名卡牌,为担心和谐的人准备

你可以将犯人改名为大老鼠,共犯改成小老鼠,侦探改成猫猫,警部改成捕鼠笼,谣言改成幸运大转盘,例如:

{
    "第一发现人": "第一发现人",
    "犯人": "大老鼠",
    "神犬": "神犬",
    "警部": "捕鼠笼",
    "共犯": "小老鼠",
    "普通人": "普通人",
    "不在场证明": "不在场证明",
    "目击者": "目击者",
    "侦探": "猫猫",
    "谣言": "幸运大转盘",
    "交易": "交易",
    "情报交换": "情报交换"
}

此时,游戏的启动命令将变成 大老鼠在跳舞

更新记录

0.0.1b2

  • 原型阶段,勉强可玩

0.0.1

  • 重构代码,第一个正式版本,全部功能已实现

0.0.2

  • 修复BUG:在交易、情报交换等特殊阶段,无法查询手牌、局势

0.0.3

  • 重构代码,更精简的逻辑结构
  • 修复BUG:在关闭猫猫后依旧可以通过私聊控制群聊的猫猫
  • 更新依赖 ayaka 0.0.1.4

0.0.4b0

  • 更新退出游戏命令
  • 修复BUG:使用强制退出时无法关闭超时机制,请使用退出游戏命令
  • 更新依赖 ayaka 0.0.1.5b1

0.1.0

  • 修复BUG:结束游戏后超时机制没有正确关闭
  • 修复BUG:神犬、侦探牌打出后没有按预期切换牌权
  • 更新依赖 ayaka 0.0.2.0

0.1.1

  • 更新依赖 ayaka 0.0.3.0
  • 新特性:支持qq频道

0.1.2

  • 更严格的依赖约束
  • 新特性:新增命令退出
  • 优化游戏帮助

0.2.0

  • 更新依赖
  • 修复BUG:修复了侦探指认犯人时,犯人没有被算入游戏失败方的BUG

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

criminal_dance-0.2.0.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

criminal_dance-0.2.0-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file criminal_dance-0.2.0.tar.gz.

File metadata

  • Download URL: criminal_dance-0.2.0.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.9 Windows/10

File hashes

Hashes for criminal_dance-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b41afc0dddc93d8b4ee0084d4a8061ff7db8330168233794d5b25fc50d4301b4
MD5 beac09db7b66f596149f2b58bbd7e8ef
BLAKE2b-256 67a2a4955a4f8641e7880517b475668154d548ea6d64ec61c568699eeab78bfa

See more details on using hashes here.

File details

Details for the file criminal_dance-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: criminal_dance-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.9 Windows/10

File hashes

Hashes for criminal_dance-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 202bc14a29265879746720c410392bc79bdb34d9c5df526a90242670f5a9de6a
MD5 404098b354878da80423a370ca2cddc2
BLAKE2b-256 a8419a611fb7abb1ab965636d39620b850634e699effd045c56d180744607580

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page