当前位置:文档之家› 中国象棋网络对战平台系统

中国象棋网络对战平台系统

2010年度本科生毕业论文(设计)中国象棋网络对战平台系统学院:电子信息工程学专业:网络工程年级:2007 级学生姓名:学号:导师及职称:2010年6月摘要随着信息技术的发展,人民生活水平的不断提高。

联网游戏作为一种娱乐手段,正以其独特的魅力吸引着越来越多的玩家。

为了满足广大象棋爱好者也可以享受到网络所带来的便利,本论文完成了基于JAVA开发的中国象棋网络对战平台的设计和实现, 它主要包含以下几大模块:网络通信模块,图像绘制模块和规则设置模块。

网络通信模块使得玩家可以方便的迅速建立起网络连接,从而实现联机对弈和聊天功能;图像绘制模块实现棋盘更新以及棋子动态表示等功能;规则设置模块用于约束玩家的棋步。

在本系统中规定了行棋规则,以及吃棋规则。

此应用程序可以实现双人的网络对战,并能进行聊天,在象棋对战过程中,对获胜的一方及对方给与相应的信息提示。

相比传统的中国象棋对战平台,有功能更加齐全,操作更加简单,行棋更加人性化的优点。

关键词:JAVA 中国象棋网络对战平台AbstractWith the development of information technology, peoples standard of living have improved constantly. On-line game as a means of entertainment has a unique charm to attract more and more players. To meet chess lovers ,In this paper, we have completed the design and realization of Chinese Chess network Battle platform based on Java. It contains the following major modules: the network communication module, image rendering module and the rules set up module. Network Communication Module allows gamers can quickly set up a convenient network connection in order to achieve an online game and chat function; image rendering module to update the board as well as functional pieces, such as the dynamic that; rules binding settings module for step-by-step player's game. In this system we provide line game rules, game rules. This application can be achieved in the network between two people, and can chat, in the process,On the winning side and the other to give the appropriate information pared with traditional Chinese Chess Battle platform, it has a more complete function , simpler operation, the more human chess advantages.Keywords: JAVA; Chinese Chess; network; Battle platform.目录第一章绪论 (1)1.1背景 (1)1.2J AVA语言 (1)1.2.1 Java的发展历史 (1)1.2.2 Java的特点 (2)1.3S OCKET编程 (3)1.3.1 关于TCP/IP协议 (3)1.3.2 服务器和客户机 (3)1.4中国象棋介绍 (4)第二章系统的分析与设计 (6)2.1.网络对战平台系统的介绍 (6)2.2系统构成 (6)2.3相关技术 (6)2.3.1 点对点通信 (6)2.3.2数据库和数据结构的设计 (8)2.2服务器端与客户端的通信基本原理 (8)第3章系统模块的设计 (10)3.1 客户端系统模块设计 (10)3.1.1 棋盘设计 (10)3.1.2 棋子设计 (11)3.1.3 游戏房间、棋盘、棋子的关系 (13)3.2服务器端系统模块设计 (14)第四章系统界面设计与实现 (16)4.1客户端界面 (16)4.2注册界面 (18)4.3对战平台界面 (20)4.4游戏房间界面 (22)结论 (27)参考文献 (28)附录A (29)致谢 (46)第一章绪论1.1背景从九十年代的MUD时代[1],到99年《网络创世纪》进入中国,再到2001年盛大《传奇》的奇迹成功,直到今天国内网络游戏市场的一片兴盛势头。

网络游戏这个庞然大物已经在中国走过了好几个不同的阶段。

随着网络游戏的影响不断增大,网络游戏具备了越来越多的社会意义。

随着游戏与Java 技术平台的合作,越来越多的游戏编程爱好者把Java当作实现游戏程序的首选。

现在,棋牌对弈类的游戏已经成为了众多人士闲暇之时用来消遣的竞技性游戏,它的娱乐性很强,而且还激发了头脑的思考,是游戏和智慧的结合体。

本文基于java技术开发与设计的网络平台对战系统的中国象棋游戏软件。

本人对中国象棋游戏特殊的行棋规则给予了细致的分析与理解,设计出了一种实时可行的方法,使每个棋子的行棋路线都严格遵循本身的行棋规则,使游戏的实战对弈得以实现。

1.2J a v a语言1.2.1 Java的发展历史Java的发展历史,可以追朔到1990年。

当时Sun Microsystem公司为了发展消费类电子产品进行了一个名为Green的项目计划。

这个计划的负责任是James Gosling。

起初他用具有面向对象特征的C++语言编写嵌入式软件,可以放在面包机或PDA(Personal Digital Assistant,个人数字主力)等小型电子消费这杯里,以使设备变得更为“聪明”,更具备人工只能。

但后来发现C++并不适合这类任务;因为C++常会使系统失效。

尤其在内存管理方面,c++采用直接地址访问方式。

需要程序员记录并管理内存资源。

这造成程序员编程的极大负担,并可能产生多个Bugs。

面包机上的程序错误可能使面包机烧坏甚至爆炸。

为了解决此类问题,Gosling决定开发一种新的语言,并取名为Oak。

它采用了大部分与C++类似的语法对可能具备危险性的功能加以改进,例如将内存管理改为由语言自己进行管理,以减少程序员的负担及可能发生的错误。

Oak是一种可移置的语言,它是一种平台独立的语言,能够在各种芯片上执行,可以降低设备的研发成本。

1.2.2 Java的特点Java是一种简单、安全、容易适用、面向对象、可移置、高性能、多线程的语言。

1.简单性Java语言简单高校,基本Java系统(编译器和解释器)所占空间不足250KB由于Java最初是为了对家用电器进行集成控制而设计的,因而具备简单命了的特征。

2.面向对象面向对象技术是现代工业的一次革新,提高了软件的模块化程度和重复适用率,缩短了软件开发时间,减低了卡发成本。

在Java之前虽然已经有面向对象的程序设计语言问问世,但有些如c++并不是完全的面向对象,而是面向过程和面向对象的混合体。

Java则是完全面向对象的程序设计语言。

3.安全性Java是可以用在网路及分布环境下的网路程序设计语言。

在网路环境下,语言的安全性变得更为重要。

Java提供了许多安全机制来保证其适用上的安全性。

4.平台独立平台独立指程序不受操作平台的限制,可以应用在各种平台上。

Java 源程序经过编译后生成字节码文件,而字节码与具体的计算机无关。

只要计算机安装了能解释执行字节码的Java虚拟机JVM,就可以执行字节码文件,从而实现Java的平台独立性。

5.多线程Java具备内建的多线程功能,可以将一个程序的不同程序段设置为不同的线程,使各线程并发、独立执行,提高系统的运行效率。

6.网络功能Java能从全球网络资源获取所需信息,如数据文件、影响文件、声音文件等,并对所得信息进行处理,所以说Java是一种网络语言。

7.执行效率Java的字节码需要经过Java虚拟机JVM解释成机器码才能执行,所以速度上较慢。

但是随着JVM技术的进步,使得其执行速度直逼C与C++。

1.3S o c k e t编程1.3.1 关于TCP/IP协议TCP协议是网络通信的基石,对此,Java专门提供了Socket的类库,在其中抽象出TCP协议通信的常用方法:(1)客户端,首先发送TCP请求的是客户端,客户端一般是服务(比如数据查询服务)的请求者。

(2)服务器,在接收到客户端的请求后(确保同客户端的通信信道建立)服务器会向客户端提供服务。

服务器一般是服务的执行者,会向客户端返回服务执行的结果。

为了实现客户端同服务器端的通信,客户端首先发送一个“SYN”数据包。

如果服务器收到SYN标记,它将发回一个“SYN+ACK”数据包。

接着,客户端为了表示收到了这个SYN+ACK信息,会向服务器发送一个最终确认信息(ACK包)。

这种SYN,SYN+ACK,ACK的步骤被称为TCP 连接建立时的“三次握手”,在这之后,连接就建立起来了,这个连接将一直保持活动状态,直到超时或者任何一方发出一个FIN(结束)信号。

这种通信模式也叫客户端/服务器(C/S)模式。

1.3.2 服务器和客户机网络最基本的目的就是让两台机器连接到一起,并相互“交谈”或者“沟通”。

一旦两台机器都发现了对方,就可以展开一次令人愉快的双向对话。

但它们怎样才能“发现”对方呢?这就像在游乐园里那样:一台机器不得不停留在一个地方,侦听其他机器说:“嘿,你在哪里呢?”“停留在一个地方”的机器叫做“服务器”(Server);到处“找人”的机器则叫做“客户机”(Client)或者“客户”。

它们之间的区别只有在客户机试图同服务器连接的时候才显得非常明显。

一旦连通,就变成了一种双向通信,谁来扮演服务器或者客户机便显得不那么重要了。

所以服务器的主要任务是侦听建立连接的请求,这是由我们创建的特定服务器对象完成的。

而客户机的任务是试着与一台服务器建立连接,这是由我们创建的特定客户机对象完成的。

相关主题