谁是卧底java_TouchFired: TouchFired(被炒鱿鱼的边缘徘徊)基于Netty的《谁是卧底游戏》摸鱼程序。...

TouchFired

介绍

TouchFired(接触 被炒鱿鱼)基于Netty的《谁是卧底游戏》摸鱼程序,所有操作均在命令行执行。

使用

启动服务端

java -jar server-1.0.1.jar -p 12345

启动客户端:指定服务器地址、端口

java -jar client-1.0.1.jar -p 12345 -h 127.0.0.1

事件驱动

所有的操作均以事件为驱动。

具体事件关联如下:

ws:

websocket连接 ---> 连接成功,记录客户端完整信息(CLIENT_CONNECTED)

http:

查询房间列表 /room/list

创建:发布ROOM_CREATING事件,创建房间,加入ChannelGroup,发布ROOM_CREATED事件,返回给客户端房间信息

加入:发布ROOM_JOINING事件,加入房间,加入ChannelGroup,发布ROOM_JOINED事件,返回给客户端房间信息

游戏创建:发布GAME_CREATING事件,创建游戏,分配角色、词汇等,发布GAME_CREATED事件,返回给客户端游戏开始信息

游戏开始:发布GAME_TURNING事件,开启循环器,返回给客户端谁发言。

每轮结束:由GAME_TURNING发布GAME_TURNED_VOTE事件,开启循环投票器,返回给客户端投票

收集投票:

等待加入或创建(PADDING_JOINING) --1-> 创建房间,房间设置(ROOM_SETTINGS)

--2--> 加入房间,ROOM_JOIN

创建房间,房间设置(ROOM_SETTINGS) --cmd参数--> 房间创建完成(ROOM_CREATED)

--back--> 退出房间创建,等待加入或创建(PADDING_JOINING)

加入房间,ROOM_JOIN ---->

房间创建完成(ROOM_CREATED) ----> 房间等待玩家加入(ROOM_PADDING)

房间等待玩家加入(ROOM_PADDING) ----> 房间人满,游戏准备开始(ROOM_PADDING)

--back--> 退出房间(ROOM_QUIT)

房间人满,游戏准备开始(ROOM_PADDING) ----> 游戏开始(GAME_STARTED)

退出房间(ROOM_QUIT) --back--> 等待加入或创建(PADDING_JOINING)

游戏开始(GAME_STARTED) ---->

截图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值