logic.js 为逻辑部分主要实现.
逻辑实现部分分为 游戏流程
, 人物操作
, 卡牌功能
视图主要与 sgs.bout 交互.传递操作结果,经过逻辑运算后,将返回下一个选择的 sgs.operate .
- sgs.PLAYER_NUM 最大玩家数.
- sgs.DELAY 操作延迟,默认1000ms.
-
初始化舞台.
包括玩家信息输入,身份抽取,角色选择.
重写玩家对象的choice_card和ask_card方法.
choice_card: 主动出牌(出牌阶段).
ask_card: 被动出牌(响应出牌). -
初始化逻辑控制.
new sgs.bout, 将上面输入的信息传入.
-
绑定事件. 游戏中的胜负,判断...操作时没有完成的界面与逻辑操作流程,需要出现可打断的流程.所以需要事件系统负责.
-
事件
skill(SkillType, ARGS..) 技能,技能参数对应下表. {"洛神": (Player, Card, Success), }
-
事件
get_card(Player, Card[]) 玩家获得牌.
-
事件
equip_on(Player, Card, EquipType) 玩家装备装备.
choice_card(PlayerSource, PlayerTarget or PlayerTarget[], Card) 源目标对目标使用卡牌.
apply_card(PlayerSource, PlayerTarget or PlayerTarget[], Card) 源目标对目标使用卡牌成功.
judge_card(Player, Card) 对玩家进行卡牌判定.
-
事件
discard(Player, Card[]) 源目标弃牌.