Skip to content

Huasushis/Quick-Cards-Battle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,855 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick Cards Battle (QCB)

一款规则十分简易的运行在 qq 机器人中的卡牌游戏。游戏规则由顺顺鼠设计。开发于 2024 年 1 月份。可以对接任何支持 onebot11 或者 gocqhttp 协议的前端。默认 qq 机器人框架的上报端口(qq 机器人框架作为客户端) 为 5703,其监听端口(qq 机器人框架作为服务端)为 5702。均采用 http 协议进行通信,消息格式均为 String

注:可以让机器人也来玩牌,很好玩()。

项目中的 venv 环境为 Windows 下的,但是实际上这个项目没有什么依赖库,一般来讲可以直接运行?

游戏规则

游戏包含数字牌(1-10)与五种功能牌,每种数字牌有max(ceil((人数*7+7)/10),4)张,功能牌有2张,每位玩家最开始随机获得{card_cnt}张卡牌。

数字牌代表攻击力或防御力,功能牌则有特殊效果。

功能牌说明:

  1. 镜像:复制上一张主动打出的牌,如果上一次打出镜像则不能够打出此牌。
  2. 反击:当对方对你发动攻击时,对方受到自己的点数的攻击。
  3. 偷袭:选择一位对手并随机抢夺他的一张牌。
  4. 护盾:当对方对你发动攻击时,可以用来挡住对方的攻击;也可以在普通回合中使用,免掉下一次伤害,可以累加。当对方对你发动攻击时如果有护盾就会抵消。可以免除反击伤害。
  5. 混乱:交换与随机另一位玩家的所有手牌。

游戏规则:

  1. 每个人有初始生命值{origin_blood}点,生命值小于等于0就死亡,按照死亡顺序排名。

  2. 游戏开始,随机决定先手玩家,之后轮流行动。

  3. 每回合,玩家可以选择打出一张牌进行攻击或防御,也可以选择不出牌(跳过)。

    • 攻击时,宣布攻击目标和使用的数字牌,被攻击玩家可以使用数字牌或反击牌进行防御,防御值高于或等于攻击值则无事发生;否则,差额伤害从其生命值中扣除,如果不发牌则认为数字为0。
    • 功能牌在合适的时机使用,使用后需展示并执行效果,然后弃置。
  4. 所有操作通过下文给出的命令执行,请严格执行命令。

  5. 当玩家手牌用完时(指卡牌效果执行完后),从牌堆洗混后重新抽取至5张,已经使用的功能牌不会进入牌堆。

  6. 功能牌1~5分别对应编号为11~15的牌,即11号牌是镜像牌,14号牌是护盾牌。

  7. 玩家死亡后牌自动进入牌堆,打出的数字牌也会进入牌堆。

游戏命令:

!start 开始游戏


一些参数可以在 run.py 中进行修改。

注:本项目的 receive.py 十分抽象,仅在 gocqhttp 和早期时候的一些框架有用,对于分块传输无效,具体可参考 shunshunshubot 中修改后的 receive.py 以及主函数中的修改来进行(因为这个项目开发时与框架通信的部分本质上是照搬 shunshunshubot)中的通信机制的。

About

一款由 python 编写,规则十分简易的运行在 qq 机器人中的卡牌游戏

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors