-
Notifications
You must be signed in to change notification settings - Fork 1
Action Frames Specification
任何动作帧可以在其 react 函数中抛出如下异常表示传入了不恰当的参数.
-
KeyError: 缺少参数 -
ValueError: 参数错误
这些异常将在 core.src.game_control.GameControl.player_act 中被捕获, 并返回对应的错误信息.
动作帧需要实现 allowed_players 返回该帧允许响应的玩家 id 列表. 动作帧自己无须检测传入参数的玩家 token, token 检测由 core.src.GameControl.player_act 完成.
当一个动作帧从非栈顶变为栈顶时 (入栈时除外, 即, 从该帧开始靠近栈顶的帧都被弹出时), 帧的 resume 方法会被调用. 在基类 FrameBase 中, resume 实现为空函数.
文件 core/src/action_frames.py
构造参数
-
player: 出牌玩家 -
interface_map: 可用动作接口名到动作函数的映射
react 参数
-
token: 玩家 token -
action: 动作 -
use(可选): 牌
on_result 参数: None.
resume: 若当前玩家死亡, 则终止出牌
构造参数
-
player: 需打出手牌的玩家 id -
cards_check: 打出手牌验证函数
on_result 参数: 传入 react 的参数.
构造参数
-
player: 展示牌玩家 -
cards_check: 展示手牌验证函数
react 参数
-
token: 玩家 token -
show: 展示的牌
on_result 参数: 传入 react 的参数.
构造参数
-
player: 弃牌玩家 -
cards_check: 弃置手牌验证函数
react 参数
-
token: 玩家 token -
discard: 弃置的牌
on_result 参数: 传入 react 的参数.
通常用于玩家只需决定是或否, 或从某些选项中选择一种, 而与卡牌和目标无关的消息接收.
构造参数
-
players: 允许发送消息的玩家列表 -
on_message: 接收到消息时执行的回调, 回调实参为传入react的参数
on_result 参数: 传入 react 的参数.
构造参数
-
who: 濒死的玩家 -
players: 求桃顺序的玩家列表 -
after_rescuing: 顺序求桃结束 (无论是否救回) 执行的无参回调
无需传入 on_result, 由 after_rescuing 替代之.
继承自 core.src.action_frames.DiscardCards.
构造参数
-
damage: 伤害
无需传入 on_result, 结束后恢复伤害结算.
构造参数
-
source: 发动遗计摸牌的玩家 -
cards: 遗计摸到的牌
无需传入 on_result, 结束后重置遗计摸到的牌的区域为手牌区 'cards'.
构造参数
-
damage: 伤害
无需传入 on_result, 结束后恢复伤害结算.
无 react 函数.
resume 函数: 每次压入一个遗计分牌帧, 直到遗计摸牌的次数等于受到的伤害点数.