安卓组开发项目文档安卓项目组2012/01/06V1.0文档版本记录版本号修改日期作者更改说明V1.02012/01/06史进鹏文档创建0阅读说明黑色粗体表示需要重点阅读,蓝色代表MINA框架类的方法,红色代表类名。文档分4个部分:(1)1-5牌类游戏服务端基类;(2)6-8继承第一部分基类,定义斗地主游戏服务端主要的类,并在这些类中定义了处理消息队列线程需要的方法(3)9-12定义第二部分类的数据管理13数据库数据初始化到内存的方法类(4)服务端交互部分,14-19是MINA服务端监听接收,发送,编解码;20-23创建4个线程对交互数据的处理;24-27定义把不同的协议归成属于哪些服务类,规范处理。1房间Room类(1)属性房间名称、房间类型、房间内桌子的数量、房间内的桌子列表、房间内的在线人数(2)方法a构造方法:构造器默认构造b获取房间名称方法参数:无返回值:房间名称c设置房间名称方法参数:房间名称返回值:无d获取房间类型方法注释:获取房间类型(如:新手场、中级场、高级随意配桌)参数:无返回值:房间类型e设置房间类型方法参数:房间类型返回值:无f获取房间内桌子数量的方法参数:无返回值:房间内桌子的数量g设置房间内桌子数量的方法参数:桌子的数量返回值:无h获取房间内桌子列表的方法参数:无返回值:房间内桌子列表i设置房间内桌子列表的方法参数:桌子的列表返回值:无j获取房间内在线人数的方法参数:无返回值:房间内的在线人数k设置房间内在线人数的方法参数:在线人数返回值:无l进入房间时添加在线人数的方法注释:进入房间添加在线人数,并且同一时间只能有一个线程执行此操作(synchronized修饰)参数:无返回值:无m退出房间时减少在线人数注释:退出房间减少在线人数,并且同一时间只能有一个线程执行此操作(synchronized修饰)参数:无返回值:无n自动分配到桌子方法(子类中会实现)注释:为玩家自动分配到一张桌子参数:一个玩家的对象返回值:分配到的桌子(null)2桌子Table类(1)属性桌子所属房间ID、桌子名称(现在没用后面可能会用到)、桌子ID、桌子当前用户数、桌子允许的最大用户数、桌子状态、用户列表(考虑用户数量不确定性用vector)、消息队列(2)方法a构造方法:构造器默认构造b设置桌子所属房间的方法注释:就是设置所在房间的房间类型,是新手场,中级场还是其他类型房间。参数:房间ID返回值:无c获取桌子所属房间的方法注释:可在斗地主桌子类的换桌方法中使用,使玩家只能在同一房间内换桌参数:无返回值:得到桌子所属房间的IDd设置桌子名称的方法注释:在初始化桌子信息时把桌子名称设置成桌子ID的字符串参数:桌子名称返回值:无e获取桌子名称的方法参数:无返回值:得到桌子名称f设置桌子ID的方法参数:桌子ID返回值:无g获取桌子ID的方法注释:用于在玩家成功进入桌子后,发送消息告诉玩家进入的是几号桌子参数:无返回值:得到桌子IDh设置桌子用户数的方法注释:只为当玩家退出或者进入桌子时要设置一下桌子的当前用户数,私有方法。进入和退出桌子的方法已经加了线程保护synchronized,所以此方法就不用加线程保护。参数:桌子用户数返回值:无i获取桌子用户数的方法注释:在斗地主桌子类中给玩家找桌子的方法中会用到,主要配合方法k判断当前桌子玩家数有没有满参数:无返回值:得到桌子用户数j设置桌子允许最大用户数的方法注释:在初始化桌子信息时,可根据游戏不同传入不同的参数参数:桌子允许最大用户数返回值:无k获取桌子允许最大用户数的方法注释:主要用来判断当前桌子玩家数有没有满参数:无返回值:得到桌子允许最大用户数l设置桌子状态的方法注释:如准备中、叫分中、玩牌中参数:桌子的状态返回值:无m获取桌子状态的方法参数:无返回值:得到桌子的状态n设置桌子用户列表的方法注释:在桌子初始化时,给每个桌子加一个包含三个空对象的用户列表参数:桌子的用户列表返回值:无o获取桌子用户列表的方法注释:得到一个桌子的用户列表,便于遍历桌子中的每个玩家参数:无返回值:得到桌子的用户列表p设置桌子消息队列的方法注释:初始化桌子信息时,每个桌子对象都会new一个消息队列,所以这个方法一般不会用到参数:桌子的消息队列返回值:无q获...