Skip to content

Latest commit

 

History

History
63 lines (36 loc) · 1.5 KB

LOGIC_DESIGH.md

File metadata and controls

63 lines (36 loc) · 1.5 KB

逻辑实现设计

logic.js 为逻辑部分主要实现.
逻辑实现部分分为 游戏流程 , 人物操作 , 卡牌功能
视图主要与 sgs.bout 交互.传递操作结果,经过逻辑运算后,将返回下一个选择的 sgs.operate .

参数设置

  • sgs.PLAYER_NUM 最大玩家数.
  • sgs.DELAY 操作延迟,默认1000ms.

游戏流程

初始化游戏

  • 初始化舞台.

    包括玩家信息输入,身份抽取,角色选择.
    重写玩家对象的choice_cardask_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[]) 源目标弃牌.