售后服务网络斗地主服务端项目文档

上传人:蜀歌 文档编号:145880299 上传时间:2020-09-24 格式:PDF 页数:27 大小:327.56KB
返回 下载 相关 举报
售后服务网络斗地主服务端项目文档_第1页
第1页 / 共27页
售后服务网络斗地主服务端项目文档_第2页
第2页 / 共27页
售后服务网络斗地主服务端项目文档_第3页
第3页 / 共27页
售后服务网络斗地主服务端项目文档_第4页
第4页 / 共27页
售后服务网络斗地主服务端项目文档_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《售后服务网络斗地主服务端项目文档》由会员分享,可在线阅读,更多相关《售后服务网络斗地主服务端项目文档(27页珍藏版)》请在金锄头文库上搜索。

1、售后服务网络斗地主服务端项目文档售后服务网络斗地主服务端项目文档 安卓组开发项目文档 安卓项目组 2012/01/06 V1.0 文档版本记录 版本号修改日期 作者更改说明 V1.02012/01/06 史进鹏文档创建 0 阅读说明 黑色粗体黑色粗体表示需要重点阅读,蓝色代表 MINA 框架类的方法,红色代表类名。 文档分 4 个部分: (1)1-5 牌类游戏服务端基类; (2)6-8 继承第一部分基类,定义斗地主游戏服务端主要的类,并在这些类中定义了处理消息队列线程需要的方法 (3)9-12 定义第二部分类的数据管理 13 数据库数据初始化到内存的方法类 (4)服务端交互部分,14-19 是

2、 MINA 服务端监听接收,发送,编解码;20-23 创建 4 个线程对交互数据的处理;24-27 定义把不同的协议归成属于哪些服务类,规范处理。 1 房间 Room 类 (1)属性 房间名称、房间类型、房间内桌子的数量、房间内的桌子列表、房间内的在线人数 (2)方法 a 构造方法:构造器默认构造 b 获取房间名称方法 参数:无 返回值:房间名称 c 设置房间名称方法 参数:房间名称 返回值:无 d 获取房间类型方法 注释:获取房间类型(如:新手场、中级场、高级随意配桌) 参数:无 返回值:房间类型 e 设置房间类型方法 参数:房间类型 返回值:无 f 获取房间内桌子数量的方法 参数:无 返回

3、值:房间内桌子的数量 g 设置房间内桌子数量的方法 参数:桌子的数量 返回值:无 h 获取房间内桌子列表的方法 参数:无 返回值:房间内桌子列表 i 设置房间内桌子列表的方法 参数:桌子的列表 返回值:无 j 获取房间内在线人数的方法 参数:无 返回值:房间内的在线人数 k 设置房间内在线人数的方法 参数:在线人数 返回值:无 l 进入房间时添加在线人数的方法 注释:进入房间添加在线人数,并且同一时间只能有一个线程执行此操作(synchronized 修饰) 参数:无 返回值:无 m 退出房间时减少在线人数 注释:退出房间减少在线人数,并且同一时间只能有一个线程执行此操作(synchroniz

4、ed 修饰) 参数:无 返回值:无 n 自动分配到桌子方法(子类中会实现) 注释:为玩家自动分配到一张桌子 参数:一个玩家的对象 返回值:分配到的桌子(null) 2 桌子 Table 类 (1)属性 桌子所属房间 ID、桌子名称(现在没用后面可能会用到)、桌子 ID、桌子当前用户数、 桌子允许的最大用户数、桌子状态、用户列表(考虑用户数量不确定性用 vector)、消息队列 (2)方法 a 构造方法:构造器默认构造 b 设置桌子所属房间的方法 注释:就是设置所在房间的房间类型,是新手场,中级场还是其他类型房间。 参数:房间 ID 返回值:无 c 获取桌子所属房间的方法 注释:可在斗地主桌子类

5、的换桌方法中使用,使玩家只能在同一房间内换桌 参数:无 返回值:得到桌子所属房间的 ID d 设置桌子名称的方法 注释:在初始化桌子信息时把桌子名称设置成桌子 ID 的字符串 参数:桌子名称 返回值:无 e 获取桌子名称的方法 参数:无 返回值:得到桌子名称 f 设置桌子 ID 的方法 参数:桌子 ID 返回值:无 g 获取桌子 ID 的方法 注释:用于在玩家成功进入桌子后,发送消息告诉玩家进入的是几号桌子 参数:无 返回值:得到桌子 ID h 设置桌子用户数的方法 注释:只为当玩家退出或者进入桌子时要设置一下桌子的当前用户数,私有方法。进入和退出桌子的方法已经加了线 程保护 synchron

6、ized,所以此方法就不用加线程保护。 参数:桌子用户数 返回值:无 i 获取桌子用户数的方法 注释:在斗地主桌子类中给玩家找桌子的方法中会用到,主要配合方法 k 判断当前桌子玩家数有没有满 参数:无 返回值:得到桌子用户数 j 设置桌子允许最大用户数的方法 注释:在初始化桌子信息时,可根据游戏不同传入不同的参数 参数:桌子允许最大用户数 返回值:无 k 获取桌子允许最大用户数的方法 注释:主要用来判断当前桌子玩家数有没有满 参数:无 返回值:得到桌子允许最大用户数 l 设置桌子状态的方法 注释:如准备中、叫分中、玩牌中 参数:桌子的状态 返回值:无 m 获取桌子状态的方法 参数:无 返回值:

7、得到桌子的状态 n 设置桌子用户列表的方法 注释:在桌子初始化时,给每个桌子加一个包含三个空对象的用户列表 参数:桌子的用户列表 返回值:无 o 获取桌子用户列表的方法 注释:得到一个桌子的用户列表,便于遍历桌子中的每个玩家 参数:无 返回值:得到桌子的用户列表 p 设置桌子消息队列的方法 注释:初始化桌子信息时,每个桌子对象都会 new 一个消息队列,所以这个方法一般不会用到 参数:桌子的消息队列 返回值:无 q 获取桌子消息队列的方法 注释:获取到桌子的消息队列,可使用队列的 add 方法添加消息。 参数:无 返回值:得到桌子的消息队列 r 将收到的消息加入到桌子的消息队列中 注释:将消息

8、加入到桌子的消息队列中,会被处理所有桌子消息队列的线程 MessageThread 处理会被处理所有桌子消息队列的线程 MessageThread 处理 参数:消息类型、消息对象 返回值:无 实现过程: 1创建一个消息队列单元类型 MessageUnitMessageUnit 的对象 unit 2把参数消息类型和消息对象打包到 unit 中 3调用方法 q 得到消息队列对象,用消息队列对象的添加方法,把 unit 添加到消息队列中 s 给桌子的玩家列表中的每个玩家发送消息的方法 参数:消息类型、消息对象 返回值:无 t 玩家进入桌子的处理(同一时刻只能有一个线程执行此操作) 注释:被斗地主房间

9、类中找桌子的方法调用(找桌子的方法是先找有 2 人的桌子,再找有 1 人的桌子,最后找无人的桌 子) 注释:被斗地主房间类中找桌子的方法调用(找桌子的方法是先找有 2 人的桌子,再找有 1 人的桌子,最后找无人的桌 子) 参数:玩家对象 返回值:是否进入成功 实现过程:传入一个玩家对象,判断桌子是否有空位(被找桌子的方法调用时此判断无用),有空位则遍历桌子用户列 表中为空的玩家给替换掉进入成功,否则进入失败 u 玩家退出桌子的处理(同一时刻只能有一个线程执行此操作) 注释:玩家退出桌子后对桌子的处理 参数:玩家对象 返回值:无 实现过程:遍历桌子的玩家列表,取得每个玩家的用户名与参数的用户名比

10、较,把相同的置空,减少桌子的用户数 v 进入桌子所属的房间 注释:玩家进入桌子所属的房间后的处理 参数:无 返回值:无 实现过程:通过方法 b 获取得到桌子所属的房间 ID,来增加当前房间的人数 w 退出桌子所属的房间: 注释:玩家退出桌子所属的房间后的处理 参数:用户名 返回值:无 实现过程:通过方法 b 获取得到桌子所属的房间 ID,来减少当前房间的人数并且移除此用户 x 开始游戏: 注释:在子类中会被重写,暂无定义 参数:无 返回值:无 y 结束游戏: 注释:在子类中会被重载,暂无定义 参数:无 返回值:无 z 同步信息: 注释:在子类中会被重载,暂无定义 参数:无 返回值:null a

11、a 超时处理: 注释:在子类中会被重写,暂无定义 参数:无 返回值:无 3 玩家 Player 类 (1)属性 用户名、玩家交互、所属的桌子(可能没有桌子)(可能没有桌子),用户 ID,昵称用户 ID,昵称 (2)方法 a 构造方法:构造器默认构造 b 发送给当前玩家消息的方法 注释:在子类中会被重载,暂无定义 参数:无 返回值:无 c 设置当前用户名的方法 注释:设置当前用户名 参数:用户名 返回值:无 d 获取当前用户名的方法 注释:获取当前用户名 参数:无 返回值:用户名 e 设置当前玩家交互的方法 注释:设置当前玩家的交互 参数:用户交互实例(被服务端用来识别用户)交互实例(被服务端用

12、来识别用户) 返回值:无 f 获取当前用户交互的方法 注释:获取当前玩家交互实例 参数:无 返回值:当前玩家交互实例 g 设置当前用户所在的桌子方法 注释:设置当前用户所在的桌子 参数:当前用户所在的桌子 返回值:无 h 获取当前用户所在的桌子的方法 注释:获取当前用户所在的桌子 参数:无 返回值:用户所在的桌子 i 设置当前用户 ID 的方法 注释:标记客户端,服务端数据也应该以此为用户信息表的主键 参数:当前用户 ID 返回值:无 j 获取当前用户 ID 的方法 注释:标记客户端,服务端数据也应该以此为用户信息表的主键 参数:无 返回值:用户 ID k 设置当前用户昵称的方法 参数:当前用

13、户 ID 返回值:无 l 获取当前用户昵称的方法 参数:无 返回值:用户 ID 4 牌 Card 类 (1)属性 面值、花色、权值 (2)方法 a 构造方法 1 注释:初始化牌的面值、花色和权值(权值默认初始化为 1) 参数:数值、花色 返回值:无 b 构造方法 2 注释:初始化牌的面值、花色和权值(按传入的参数初始化权值) 参数:数值、花色、权值 返回值:无 c 获取牌面值的方法 注释:获取牌的面值 参数:无 返回值:面值 d 获取牌花色的方法 注释:获取牌的花色 参数:无 返回值:花色 e 获取牌权值的方法 注释:获取牌的权值 参数:无 返回值:权值 f 设置牌权值的方法 注释:设置牌的权

14、值 参数:权值 返回值:无 5 牌组 CardArray 类 (1)属性 牌组中牌的张数、牌对象的数组、牌组的权值 (2)方法 a 构造方法 1 注释:初始化牌的张数、牌对象的数组、牌组的权值(牌组权值默认初始化为 1) 参数:牌组中牌的张数、牌对象的数组 返回值:无 b 构造方法 2 注释:初始化牌的张数、牌对象的数组、牌组的权值(按传入的参数初始化牌组的权值) 参数:牌组中牌的张数、牌对象的数组、牌组的权值 返回值:无 构造方法 3 注释:初始化牌的张数、牌对象的数组、牌组的权值(按传入的参数初始化牌组的权值) 参数:牌对象 返回值:无 c 构造方法 4 注释:初始化牌的张数、牌对象的数组

15、、牌组的权值(牌组权值默认初始化为 1) 参数:无 返回值:无 d 获取牌组中牌的张数方法 注释:获取牌组中牌的张数 参数:无 返回值:牌组中牌的张数 e 获取一个排序后的全部数值数组 1 注释:获取一个排序后的全部数值数组(默认按照面值递增排序) 参数:无 返回值:一个排序后的牌组 f 获取一个排序后的全部数值数组 2 注释:获取一个排序后的全部数值数组(按照传入参数方式排序) 参数:排序方式(面值正排序 1、面值逆排序 2、权值大小正排序 3 或权值大小逆排序 4) 返回值:一个排序后的数值数组 g 添加牌对象 1 注释:添加牌对象 参数:牌对象 返回值:一个添加后的牌组 h 添加牌对象

16、2 注释:添加牌对象的数组 参数:牌对象的数组 返回值:一个添加后的牌组 i 删除牌对象 1 注释:删除牌对象 参数:牌对象 返回值:删除后的数值数组 j 删除牌对象 2 注释:删除牌对象的数组 参数:牌对象的数组 返回值:删除后的数值数组 k 比较面值是否相同 1 注释:比较数值是否相同 参数:牌对象 返回值:是否相同 l 比较面值是否相同 2 注释:比较数值是否相同 参数:牌对象的数组 返回值:是否相同 m 比较数值是否相同 3 注释:比较数值是否相同 参数:牌组类的对象 返回值:是否相同 n 比较数值是否包含 1 注释:比较牌对象数值是否包含 参数:牌对象 返回值:是否包含 o 比较数值是否包含 2 注释:比较牌对象的数组的数值是否包含 参数:牌对象的数组 返回值:是否包含 p 比较数值是否包含 3 注释:比较牌类对象的数值是否包含 参数:牌组对象 返回值:是否包含 q 是否清一色 注释:比较牌对象是否相同花色 参数:无 返回值:是、否 r 获取牌组对象的权值 注释:获取牌组对象的权值 参数:无 返回值:牌组对象的权值 s 设置牌组对象的权值 注释:设置牌组

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号