文档介绍::..•功能分析斗地主是一个简单的网络游戏,但是它可以很好的体现网络游戏开发的主要过程。斗地主基于C/S模式开发的一个能够实现多人同时在线娱乐的网络游戏。主要由服务器和客服端组成,服务器为整个网络游戏提供一个统一的网络平台,统一的管理游戏的所有执行过程,客服端为玩家提供一个游戏入口,提供一个基本的界面实现客服端发送的游戏命令。客服端有:登录界面完成用户登录,发送用户信息并验证用户信息,然后将结果返回给用户确认用户是否可以登录系统。服务器包括一个界面,模块有变量定义模块和消息处理模块。注册界面完成用户注册功能,用户输入注册账号,发送给服务器并验证注册信息,然后返回是否注册成功。游戏大厅主界面完成用户选择游戏房间功能和选择游戏桌子,主要是为了便于以后进行游戏扩充时进行选择游戏功能。游戏界面完成对游戏的显示,游戏的进度等基本信息也是最主要的界面,完成游戏的核心功能。客服端模块主要分为变量定义模块和消息处理模块。,如果用户已经存在则返回注册失败,否则返回注册成功。登录界面除了能够实现登录还能够对客服的基本信息进行验证,不是注册的系统用户不能进入游戏,如果是系统的用户则调用相应的窗口。游戏大厅主界面是用于用户选择房间,能够显示各个房间的基本信息,在线用户的数量和个人基本信息,选择房间之后要显示该房间中所有在线用户的状态和各个桌子游戏的状态。游戏界面要显示该桌子的基本信息和是否有人在玩游戏,如果有人在玩游戏则要显示出牌的整个流程并让该桌子的三个用户能够进行交流。3•可行性分析VB可视化编程为编程节省了大大的时间,它将很多功能已经集成并封装好了,编制程序时只需调用相应的函数就能完成所需功能,VB中的网络编程也很好实现,只需添加一个socket控件就能够实现,这样可以节省编制很多代码。•总体设计系统总体结构分为服务器端和客服端,服务器端是协调各客服端,最终完成游戏功能,客服端就是显示和执行服务器和用户发送的消息,玩家完成游戏的操作并发送相应的信息给服务器。服务器端主要的数据结构有数据缓冲区结构体,用于存放数据信息,主要由一个byte数组、一个读数据指针和一个写数据指针。用户信息结构体,用于保存在线用户的基本信息,结构体中包含一个数据缓冲区结构体用于存储用户发送给服务器的数据信息。桌子信息结构体,用于保存各个桌子的状态信息,以便于系统判断该桌子是否可以进行游戏。客服端主要数据结构有数据缓冲区结构体,用于存放系统发送给用户的信息,由一个byte数组、一个读数据指针和一个写数据指针组成。用户信息结构体,用于存放用户的基本信息,里面包含一个数据缓冲区结构体。游戏状态结构体,用于保存游戏过程中的用户手中的牌信息。,数据库的设计必须能够方便系统查找,尤其是在数据库数据庞大时必须考虑查找数据的效率。游戏中总共设计了一个gamedb数据库和三张基本表。用户注册表createtable讦notexistst_reg(,/*用户数字ID*/unamechar(16)BINARYNOTNULLUNIQUEkey,/*用户注册名*/nickchar(16)BINARYNOTNULL,/*用户呢称*/pwdchar(32)NOTNULLdefault0,num_faceintnotnull,stateintnotnulldefault0,dtimeTIMESTAMPdefaultcurrent_timestamp)ENGINE=MyISAM;注册后的mysql数据库数据>ysql>select*fromt_i*eg;uname■nickJpwdinun_£ace!stateidtine1234!2!2!2!3!0!2011-04-2923:34:39!!3!3!123!1!0!2011-04-2923:35:02!!4!45123\6!0!2011-04-2923:35:16!!1!123\0000!2011-04-1915:53:28!!2011-04-2200:12:21!!2011-04-2714:02:40!5123!!123\\123!20!36!4!?!3?!!2011-06-1709:04:43!!2011-06-1709:08:17!哈血凡达!123!rowsinset<>用户登录表createtableifnotexistst_online(unamechar(16)BINARYNOTNULL,timeTIMESTAMPdefaultcu