基于VC++的网络牌类游戏的设计与实现(附答辩记录)(包含选题审批表,任务书,开题报告,中期检查报告,毕业论文19000字,答辩记录,幻灯片ppt,成绩评定册,程序代码)
摘 要:本设计是在VC++开发环境下编译的,旨在深入强化可视化编程课程的学习,提高综合设计能力,初步掌握独立设计一个小软件的过程,包括界面设计,功能设计,培养学生可视化编程的能力。
整个游戏采用结构化的方式进行编译,逐步完善系统功能。系统采用CSockt实现联网游戏。CSocket是MFC在CAsyneSocket基础上派生的一个同步阻塞Socket的封装类。而Socket是Windows中得到广泛应用的、开放的、支持多协议的网络编程接口。一个CSocket对象代表了一个比CAsyneSocket对象更高层次的Windows Socket的抽象,CSocket类与CSocketFile类和CArchive类一起工作来发送和接受数据,因此使它更加容易使用。
Visual C++实现斗地主游戏主要有三个部分。第一部分是界面设计; 第二部分司游戏内核设计;第三部分是网络部分。本设计以斗地主为例,编程并实现了CSocket功能,达到了预期联网大牌的效果。运用软件工程的知识对程序开发过程进行了详细介绍。经过详细设计、系统检测等方法来保证程序的稳定运行。
本论文只介绍了网络斗地主的开发背景,开发的过程和所要完成的功能。包括游戏界面的开发、基于CSocket网络游戏的实现、核心算法的实现。重点说明了系统设计思想,设计的步骤、难点技术和解决方案。
关键字:网络游戏;服务器;客户端;socket编程;
The Implementation and Realization of a NetWork Chess Game Based on VC++
Abstact: The design is developed in VC++ compiler environment, and to further strengthen the visual programming courses, improve their overall design capacity, preliminary design of a small independent software control of the process, including interface design, functional design, visual students Programming skills.
The game uses a structured approach to build and gradually perfect the system functions. System uses CSocket networked games. MFC CSocket is derived based on the CAsyneSocket a synchronous blocking Socket wrappers. The Socket is widely used in Windows, open, multi-protocol network programming interface. A CSocket object represents a higher level than CAsyneSocket Windows Socket object is abstract, CSocket class CArchive class with CSocketFile class and work together to send and receive data, making it easier to use.
Visual C + + implementation with Landlords game there are three main parts. The first part is the interface design; second part of the core game design Secretary; The third part is the network part. Landlords example of this design, programming and implementation of CSocket function, to the expected effects of the big network. Knowledge of the use of software engineering development process described in detail. After detailed design, system testing and other methods to ensure the stable operation of the program.
This paper describes the network as long as the Landlord's development background, development process and the functions to be performed. Including the development of game interface, online game based on the realization of CSocket, the core algorithm. Highlights the system design, the design steps, difficult technology and solutions.
Key words: Network Games; Server; Client; Socket Programming;
系统总体设计方案
C/S模式
C/S (Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理[15]。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。
设计原则
(1)客户端与服务器端必须连接在一起。
(2)登录的控制问题。当登录人数达到3时,拒绝其他客户端登录请示;当已登录玩家中,有人中途退出,其他已准备玩家须保持其状态(除非自行请示改变),而下面请示的玩家将直接填补退出者的位置。对于中途退出者,若是发牌之前或经过其他玩家一致同意其退出,则不对其进行处罚,否则,为逃跑性质,进行处罚。
(3)当满足开始游戏条件时,服务器发牌至每个连接客户端。并规定该局首先叫牌者,使之进入叫牌状态。最终叫到地主的客户端必须首先出牌。
(4)所有的客户端的任何动作必须询问服务器。当请示动作合法时,服务器发送许可消息,客户端方能做出请示动作(实际上只是显示动作的结果,因为服务器已经处理了该动作,在发送许可的同时发送了处理结果)。否则,服务器发送拒绝消息,客户端则显示有关错误信息。
(5)服务器处理所有的玩家的动作,然后广播数据给每个玩家;客户端通过判断机制决定是否接受广播,并执行相应的显示与相关的游戏设置。
本游戏是斗地主游戏(网络版),是根据湖北地区民间的盛行的**牌游戏斗地主,融合现代网络游戏的特点和管理需要,推出的体现当前行业最具有代表意义的解决方案。作为面向广大用户网络游戏,主要用于提供斗地主的游戏平台,提供登陆,发牌,叫牌,出牌,胜负判定以及退出等主要功能[10]。
本系统的功能主要分成两大模块: 服务器端和客户端。 每个模块有可以分成几个子模块[18]。下面分几个部分对各个模块进行详细设计:
服务器端各功能模块
服务器的启动功能
接收连接请求功能
数据捕获功能
合法性判断功能
客户端各功能模块
登录功能功能
数据接收功能
显示信息功能
游戏退出功能
本系统测试环境
测试的硬件环境为:主机为英特尔赛扬M处理器360 1.4GHZ,硬盘为40G,内存容量256M。
测试的软件环境是:操作系统为Windows XP,编程工具选用Visual C++ .NET 2005 。
|