werewolf大致流程

首先是房主创建房间,创建成功以后房主开启web socket连接。

其他成员加入房间,加入房间后新成员和老成员的游戏玩家列表都会更新,然后新成员也要开启web socket连接。

然后,应该有一个房主锁定房间\解锁房间的按钮,效果是不允许再有新玩家加入房间。

然后,所有人的界面跳到选择座位,每个人选择以后服务器会返回是否选择成功。

房主默认是1号座位,所有人都选择成功以后,房主点击进入游戏设置界面,但是这里好像其他人需要点击下一步才可以(最好改成房主设置好以后所有人都直接跳到查看手牌的页面)。

房主设置好以后,点击下一步,所有人进入查看手牌页面。然后房主点击开始游戏,所有人进入游戏页面。游戏页面中应有语音和文字提示指示玩家操作。

游戏内流程

编号 状态内容
1 游戏结束
2 等待玩家
3 房间锁定
4 角色设置
5 丘比特指定情侣
6 情侣互认
7 守卫守人
8 狼人杀人
9 女巫救人
10 预言家验人
11 玩家参与警长竞选
12 参选玩家发言
13 未参选玩家投票
14 白天发言
15 白天投票
16 猎人发动技能
17 遗言阶段

注意:

  1. 女巫、守卫、预言家等即使死亡,也要进入相应的状态,播放语音,自动跳转到下一个状态。
  2. 下一步的人数,根据房间状态判断,这个不知道写好没。

还有之前的遗留问题:

  1. 守卫接口未定义 守卫状态结束时需要将守卫守的人发过来

  2. 交警徽做成实时的,并且做成卡片写在tabview里

  3. 角色存活状态里将list改为role 有三种选择:guard wolf witch

  4. 丘比特选择完情侣将情侣信息实时发送给每个玩家,情侣不论什么阶段,一个人死了,另外一个人也会死(除了情侣一个人被狼人杀死,但是之后被女巫救活,这时两个人都不会死)

PS:不过这里情侣死了的话,你只要给我发死了的那个人的id就好,另外一个人我在本地自己判断他是不是死了,这样比较好保存数据

  1. 投票区分一下警长投票和白天投票

其中:

  • 警长投票得票最多的人当选警长 警长的权利是在白天投票时一票顶两票
  • 白天投票得票最多的人会死亡(如果死的是情侣,他的另一半也会死亡)

Werewolf流程分析的更多相关文章

  1. 8、Struts2 运行流程分析

    1.流程分析: 请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 ...

  2. freeswitch呼叫流程分析

    今天翻文档时发现之前整理的关于freeswitch呼叫相关的内容,写成博文分享出来也方便我以后查阅. 整体结构图 FreeswitchCore 模块加载过程 freeswitch主程序初始化时会从mo ...

  3. u-boot 流程分析

    u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 ,  这个启动程序就叫启动加载程序(Boot ...

  4. thttpd和cgilua安装与运行流程分析

    安装 参考如下博文安装thttpd软件 http://blog.csdn.net/21aspnet/article/details/7045845 http://blog.csdn.net/drago ...

  5. 【转】Hostapd工作流程分析

    [转]Hostapd工作流程分析 转自:http://blog.chinaunix.net/uid-30081165-id-5290531.html Hostapd是一个运行在用户态的守护进程,可以通 ...

  6. u-boot中nandflash初始化流程分析(转)

    u-boot中nandflash初始化流程分析(转) 原文地址http://zhuairlunjj.blog.163.com/blog/static/80050945201092011249136/ ...

  7. Android7.0 Phone应用源码分析(二) phone来电流程分析

    接上篇博文:Android7.0 Phone应用源码分析(一) phone拨号流程分析 今天我们再来分析下Android7.0 的phone的来电流程 1.1TelephonyFramework 当有 ...

  8. runc start container流程分析

    1.runc/start.go Action: func(context *cli.Context) error 该函数首先调用container, err := getContainer(conte ...

  9. 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)

      退出Activity注册Android遍历   目录(?)[+] 前言 知识结构 具体方案 方案1 方法采用FLAG_ACTIVITY_CLEAR_TOP退出整个程序多activity 方案2 方 ...

随机推荐

  1. ajax参数设置略解

    通过ajax可以直接由页面访问到服务器.做到不刷新页面,就能刷新数据,为开发带来很大的便利. 1.ajax方式的参数及其功能: $.ajax({ type : "POST", // ...

  2. #研发中间件介绍#异步消息可靠推送Notify

    郑昀 基于朱传志的设计文档 最后更新于2014/11/11 关键词:异步消息.订阅者集群.可伸缩.Push模式.Pull模式 本文档适用人员:研发   电商系统为什么需要 NotifyServer? ...

  3. Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)

    使用Microsoft SQL SERVER 2014 Management Studio访问Azure SQL Database时,查看存储过程时遇到下面错误信息: TITLE: Microsoft ...

  4. centos 进度条卡死

    CentOS 6.7 系统 在执行完删除更新包的全部操作之后, yum remove -y Deployment_Guide-en-US finger cups-libs cups ypbind &a ...

  5. shell实现ping命令查看哪些主机在线

    #!/bin/bash .{..};do -i 0.5 $a >/dev/null && echo "$a 在线" || echo "$a 离线&q ...

  6. log4j.properties配置详解

    1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ...

  7. 微软TFS Agile/CMMI/Scrum

    二.VS Online 与 Agile/Cmmi/Scrum 介绍了背景,那就言归正传了.VS Online 和文章标题有什么关系呢? 成功注册VS Online之后,我准备创建自己的project时 ...

  8. 【C#】【Thread】SpinLock

    SpinLock结构是一个低级别的互斥同步基元,它在等待获取锁时进行旋转. 在多核计算机上,当等待时间预计较短且极少出现争用情况时,SpinLock 的性能将高于其他类型的锁. 不过,我们建议您仅在通 ...

  9. 服务器一般达到多少qps比较好[转]

    你好,每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量. 原理:每天80%的访问集中在20%的时间里,这2 ...

  10. 9个让人印象深刻的网站 JS 视觉效果

    网页设计已经提升到一个整体新的水平,Flash 渐渐失去了地位,逐渐被 HTML/JavaScript/CSS 所超越,而且一样可以实现出 Flash 复杂的特效. 本文介绍 8 个让人印象深刻的网站 ...