@womendeaiwoming
2021-08-31T08:45:22.000000Z
字数 2744
阅读 450
刷新房间流程:
1. 等待座位旋转动画完成2. 重置发牌动画3. 重置公牌(取消动画、隐藏公牌)4. 重置底池5. 重置当前用户的手牌6. 刷新 “等待几手” 提示7. 隐藏当前用户的操作8. 如果有N张公牌,则直接显示N张公牌9. 如果是比牌阶段,且有高亮公牌,则高亮相应公牌10. 更新座位号11. 更新所有座位上的用户信息12. 更新庄家信息13. 更新底池及筹码堆14. 更新总底池信息15. 如果满足条件,则显示邀请界面16. 更新倒计时动画17. 刷新看公牌的按钮18. 如果当前用户正在进行游戏,且不是其操作,则显示 “预操作”
1. 刷新 “等待几手” 提示2. 等待座位旋转动画完成3. 找出发了牌的用户列表,播放发牌动画4. 如果当前用户有参与:发完牌后,更新其手牌、手牌类型// 由于发牌后,会接 "BET_BLIND"、"PRE_FLOP" 流程,所以不需要在这里显示其操作按钮
1. 记录本轮下注的最大分数2. 等待座位旋转动画完成3. 等待发牌动画完成4. 等待公牌动画完成5. 针对每个用户操作:1) 更新对应的座位上的状态:A、Check: 播放对应音效、播放check 动画B、Bet: 播放对应音效C、Call: 播放对应音效D、Fold: 播放对应音效、显示弃牌状态E、Raise: 播放对应音效F、All In: 播放对应音效、显示 All In 动画2) 如果是当前用户的操作,则隐藏自己的操作按钮、隐藏延时按钮
1. 等待座位旋转动画完成2. 等待发牌动画完成3. 等待公牌动画完成4. 如果是当前用户可选的操作,则显示/延长 “延时” 按钮5. 只显示可操作用户座位的进度条6. 如果当前用户在游戏,且未弃牌:A、轮到自己操作a、隐藏预操作b、显示自己可进行的操作:Fold/Check/Raise/Call/AllIn/BetB、不是自己操作a、隐藏自己所有操作b、如果没有All In,则显示可进行的预操作:(Fold、Call)/(Check/Fold Check)
1. 隐藏延时按钮2. 隐藏看公牌按钮3. 隐藏当前用户的所有游戏操作按钮4. 等待座位旋转动画完成5. 等待发牌动画完成6. 等待公牌动画完成7. 如果是河牌圈(River)那么此时可能在同一时间收到多个 `WP_roundChangeNotify` 通知,会要求多次发公牌。主要是:TURN/RIVER 这两个阶段可能会同时紧跟在 FLOP 后面(全部All In)。 所以每次需要等公牌发完后,再发下一次公牌。1) 等待公牌动画完成 // 需要再等一次,不然上面的 `await this.compComCards.wait();` 会同时启动剩余的 TURN/RIVER 的等待,导致同时翻出第4张、第5张。2) 再次等待公牌动画完成8. 如果此流程里有发公牌(FLOP 三张、TURN 一张、RIVER 一张)A、如果是 FLOP:a、取消所有公牌任务b、如果是通过全部人 All In 开牌,增加任务:等待 2 秒(时间从 All In 开牌开始算)c、增加任务:清空公牌d、增加任务:以动画显示发的前 3 张牌e、增加任务:2.2 秒延时B、如果是 TURN:a、如果 All In 开始,且没有等待的任务,则增加任务:等待2.5秒(时间从 All In 开牌开始算)b、增加任务:以动画显示第 4 张牌c、增加任务:2.0 秒延时C、如果是 RIVER:a、增加任务:以动画显示第 5 张牌9. 如果此时轮到某个用户操作,则执行 (四)10. 桌面上每个有用户的座位处理此次流程1) 更新座位上的分数2) 隐藏 “Check” 动画3) 如果是未弃牌且不是翻前圈(!FLOP)如果此用户已 All In,则显示其 All In 行为显示区;否则隐藏行为显示区4) 如果有筹码,则播放筹码入底池动画6) 如果不是 THAN,且不是所有人 All In 导致的开牌,则清空亮出过的手牌
1. 停止所有座位倒计时2. 隐藏当前登录用户的可进行的游戏操作按钮、预操作按钮3. 针对每个有参与的座位显示结果A、如果所有用户都 All In1) 显示座位的摊牌2) 延时 0.2s 后1、如果此用户赢,则 playResultWin()2、handPlayResult()B、如果此座位参与了比牌1) 延时 0.75s 后1、显示座位用户的摊牌2、如果此用户赢,则 playResultWin()2) 延时 (0.75 + 0.45 + 0.5)s 后 handPlayResult()C、否则(即 其余玩家全部弃牌后停留时长)1) 延时 0.5s 后,显示座位用户的摊牌2)延时 0.6s 后,如果此用户赢,则 playResultWin()3)延时 (0.2 + 0.45 + 0.5)s 后1、如果此用户结果分大于0,则播放收筹码动画。再延时 0.7s 后,更新座位分,且桌面重置底池4. 如果有公牌显示任务,则取消所有任务,并强制展示所有公牌5. 如果有高亮公牌,则延时 `delay` 后:`delay` 默认为 0.5s;如果不是所有比牌玩家都 All In,且有摊牌,则为 (0.75 + 0.45 + 0.5)s1)、显示高亮公牌;2)、显示赢家的牌型6. 根据当前登录用户能否查看剩余公牌,显示/隐藏 查看公牌 按钮function playResultWin() {1、播放 Winner 动画2、如果是特殊牌型,且是登录用户,则显示特殊牌型动画}function handPlayResult() {A、用户结果分大于01) 播放收筹码动画2) 延时 0.7s 后,更新座位分,且桌面重置底池}