热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

TouchFired介绍TouchFired(接触被炒鱿鱼)基于Netty的《谁是卧底游戏》摸鱼程序,所有操作均在命令行执行。使用启动服务端java-jarserve

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) ---->

截图



推荐阅读
  • 开发笔记:SpringBoot学习开发web应用
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了SpringBoot学习开发web应用相关的知识,希望对你有一定的参考价值。SpringBoot ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • 阿里首席架构师科普RPC框架
    RPC概念及分类RPC全称为RemoteProcedureCall,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程 ... [详细]
  • Play1.2.3中主要包括的第三方包有xstreamxml与object互转snakeyamlyaml解析与发射slf4j日志接口相关signpost ... [详细]
  • SpringMVC 12 使用请求参数和返回值的Object类型
    对返回Objec ... [详细]
  • 列举几个Java程序员通用的、必须掌握的框架
    Java程序员历来就被认为是好职业,但并不是所有的Java程序员都能如愿获得好的回报,任何一个行业,都有低端饱和、高端紧缺的现象ÿ ... [详细]
author-avatar
蓝色水气球_453
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有