Werewolf流程分析
werewolf大致流程
首先是房主创建房间,创建成功以后房主开启web socket连接。
其他成员加入房间,加入房间后新成员和老成员的游戏玩家列表都会更新,然后新成员也要开启web socket连接。
然后,应该有一个房主锁定房间\解锁房间的按钮,效果是不允许再有新玩家加入房间。
然后,所有人的界面跳到选择座位,每个人选择以后服务器会返回是否选择成功。
房主默认是1号座位,所有人都选择成功以后,房主点击进入游戏设置界面,但是这里好像其他人需要点击下一步才可以(最好改成房主设置好以后所有人都直接跳到查看手牌的页面)。
房主设置好以后,点击下一步,所有人进入查看手牌页面。然后房主点击开始游戏,所有人进入游戏页面。游戏页面中应有语音和文字提示指示玩家操作。
游戏内流程

| 编号 | 状态内容 |
|---|---|
| 1 | 游戏结束 |
| 2 | 等待玩家 |
| 3 | 房间锁定 |
| 4 | 角色设置 |
| 5 | 丘比特指定情侣 |
| 6 | 情侣互认 |
| 7 | 守卫守人 |
| 8 | 狼人杀人 |
| 9 | 女巫救人 |
| 10 | 预言家验人 |
| 11 | 玩家参与警长竞选 |
| 12 | 参选玩家发言 |
| 13 | 未参选玩家投票 |
| 14 | 白天发言 |
| 15 | 白天投票 |
| 16 | 猎人发动技能 |
| 17 | 遗言阶段 |
注意:
- 女巫、守卫、预言家等即使死亡,也要进入相应的状态,播放语音,自动跳转到下一个状态。
- 下一步的人数,根据房间状态判断,这个不知道写好没。
还有之前的遗留问题:
守卫接口未定义 守卫状态结束时需要将守卫守的人发过来
交警徽做成实时的,并且做成卡片写在tabview里
角色存活状态里将list改为role 有三种选择:guard wolf witch
丘比特选择完情侣将情侣信息实时发送给每个玩家,情侣不论什么阶段,一个人死了,另外一个人也会死(除了情侣一个人被狼人杀死,但是之后被女巫救活,这时两个人都不会死)
PS:不过这里情侣死了的话,你只要给我发死了的那个人的id就好,另外一个人我在本地自己判断他是不是死了,这样比较好保存数据
- 投票区分一下警长投票和白天投票
其中:
- 警长投票得票最多的人当选警长 警长的权利是在白天投票时一票顶两票
- 白天投票得票最多的人会死亡(如果死的是情侣,他的另一半也会死亡)
Werewolf流程分析的更多相关文章
- 8、Struts2 运行流程分析
1.流程分析: 请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 ...
- freeswitch呼叫流程分析
今天翻文档时发现之前整理的关于freeswitch呼叫相关的内容,写成博文分享出来也方便我以后查阅. 整体结构图 FreeswitchCore 模块加载过程 freeswitch主程序初始化时会从mo ...
- u-boot 流程分析
u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 , 这个启动程序就叫启动加载程序(Boot ...
- thttpd和cgilua安装与运行流程分析
安装 参考如下博文安装thttpd软件 http://blog.csdn.net/21aspnet/article/details/7045845 http://blog.csdn.net/drago ...
- 【转】Hostapd工作流程分析
[转]Hostapd工作流程分析 转自:http://blog.chinaunix.net/uid-30081165-id-5290531.html Hostapd是一个运行在用户态的守护进程,可以通 ...
- u-boot中nandflash初始化流程分析(转)
u-boot中nandflash初始化流程分析(转) 原文地址http://zhuairlunjj.blog.163.com/blog/static/80050945201092011249136/ ...
- Android7.0 Phone应用源码分析(二) phone来电流程分析
接上篇博文:Android7.0 Phone应用源码分析(一) phone拨号流程分析 今天我们再来分析下Android7.0 的phone的来电流程 1.1TelephonyFramework 当有 ...
- runc start container流程分析
1.runc/start.go Action: func(context *cli.Context) error 该函数首先调用container, err := getContainer(conte ...
- 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)
退出Activity注册Android遍历 目录(?)[+] 前言 知识结构 具体方案 方案1 方法采用FLAG_ACTIVITY_CLEAR_TOP退出整个程序多activity 方案2 方 ...
随机推荐
- nginx File not found
出现 nginx File not found 错误 首先判断这个文件是否 真的存在 如果文件确实存在 那么应该是 php-fpm 路径有问题了 解决办法 1查看 php-fpm 的配置文件 我的 文 ...
- asp.net signalR 专题—— 第三篇 如何从外部线程访问 PersistentConnection
在前面的两篇文章中,我们讲到的都是如何将消息从server推向client,又或者是client再推向server,貌似这样的逻辑没什么异常,但是放在真实 的环境中,你会很快发现有一个新需求,如何根据 ...
- msdia80.dll文件出现在磁盘根目录下的解决方案
情况描述: 当安装某些软件后,磁盘根目录中多出了msdia80.dll文件,该文件显示为2006年12月1日,884KB. 原因: 当使用64位操作系统时,在电脑上安装 Microsoft Vis ...
- Linux下监控服务器状态命令——top
----------------------------------工作中常用的命令,来判断服务器状态是否正常------------------------------------- top命令作用 ...
- WPF 自定义CheckBox
WPF中原始的CheckBox样式很简单,有时候不适用于WPF那种炫酷的界面. 本章节讲述如何设计一个匹配业务需要.好看的CheckBox(继上篇<WPF-自定义ListBox>中的Che ...
- Jackson轻易转换JSON
原文http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html Jackson可以轻松的将Java对象转换成json对象和xml文档,同样 ...
- Ubuntu 系统 update-rc.d 命令
Ubuntu或者Debian系统中update-rc.d命令,是用来更新系统启动项的脚本.这些脚本的链接位于/etc/rcN.d/目录,对应脚本位于/etc/init.d/目录.在了解update-r ...
- Ubuntu下的生活--安装
概要 整个安装过程是通过离线包安装,而非在线安装. 目录 JDK安装与配置 Eclipse安装与配置 Apache安装与配置 MySQL的安装 JDK安装与配置 版本:jdk-7u71-linux-i ...
- 传输层协议TCP和UDP
本文力图简洁,让读者对TCP和UDP有个初步的认知.闲话少说,现在开始吧.TCP和UDP都是传输层的协议.TCP通过三次握手建立可靠连接,对未送达的消息重新进行发送.UDP不建立连接而直接发送,对未送 ...
- POJ1962Corporative Network[带权并查集]
Corporative Network Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 3945 Accepted: 14 ...