信息科学与技术学院学士学位论文
络套接技术、数组和字符串等知识。根据具体的分析和设计尝试实现一款简单的对弈软件,深入浅出地找出象棋游戏规律,了解并运用各类棋子的行棋套路,以便获得实用可行的开发方法,通过掌握这项技能丰富自己的实践知识库[1]。
1.2 课题研究的内容与意义
中国象棋游戏系统是以Java语言为开发基础,采用C/S(Client/Server,客户机/服务器)体系结构设计的一款中国象棋游戏研究。C/S架构的原则是将计算机应用任务分解成多个子任务,将所要实现的功能模块分工完成,即功能分布原则。客户端完成数据处理,数据表示以及用户接口功能,服务端完成数据管理系统的核心功能。这种客户请求服务,服务器提供服务的处理方式是一种新型的计算机应用模式。C/S架构的程序开发使用的是网络套接技术,从客户端和服务器端两个方面进行深入研究,细化完善。服务器端是开发客户端的基础,只有以服务器框架为基础,才能在开发客户端过程中进行一些相关的测试,这是这类游戏的基本开发模式。
通过对系统进行可行性分析、功能模块分析和需求分析,进而总结归纳出系统应当具备的功能和所需完成的任务。首先通过技术、经济和社会等方面的分析,归纳出开发的象棋游戏应该具备怎样的功能,通过需求分析进行详细的评估报告。根据象棋本身的规则属性,以及各个棋子(包括将(帥)、士(仕)、象(相)、馬、車、炮(砲)、卒(兵))的走法规则进行研究并且进行算法设计,本研究还打算增加一些辅助的趣味功能,比如悔棋、认输、求和等功能。
在系统研究过程中,我们还会根据各自棋子设计的需要而恰当地使用数组进行数据及状态的存储,联机等操作也会尽量使用字符串进行服务器和客户端之间的通信,并且为了让桌面美观,还会使用Java图形技术对图片应用抗锯齿等操作;Socket网络套接技术的使用,数组和字符串的运用,以及匿名内部类实现接口中的方法等技术都会在开发过程中加以利用。
本课题的意义在于通过对Java语言各种基础的学习,把四年来所学的理论知识运用到具体的实践操作当中,务必熟练掌握Java的运行环境,各种控件,基本工具抽象类的接口等技术。对于流程控制的把握,实现各项功能的拿捏,这是一个分析、
2
信息科学与技术学院学士学位论文
归纳和表达的过程,是检验综合能力的一种方式。比如遇到问题,应该采取怎样的处理是方式,并且在实际操作中的灵活运用所学知识的能力,这是检测综合能力的关键,而毕业设计的撰写和研究相当于给了我们一次系统的训练,是学以致用的直接案例。对于个人成长而言,使我知道怎样去剖析事物内部结构,如何去观察事物的发展规律,以及从适当的角度去判断事物的轻重缓急,无论是从时间上,还是从逻辑程度上都是一个提升自我能力的过程,是掌握实际技能不可多得的体验。学会把压力变作动力,无论是对个人还是对社会,都有推进作用。就课题本身而言,对中国象棋游戏的开发一个有了比较全面的了解,对传统对弈的继承,对全新技术的引用,同时为以后添加新元素打下坚实的基础,通过多方面的考虑,作为一个可持续发展的游戏,需要不断改进,本系统的设计与实现相当于一个过渡的过程,具有一定的积极意义[2-3]。
1.3 技术思路
本系统是采用Java语言开发一款中国象棋对弈软件,以网络对弈的形式实现中国象棋的基本功能和主要模块。
C/S体系结构是本系统的基础架构,两端非常突出的硬件环境,可以合理地实现分配到Client端和Server端的任务,使系统的通讯成本降低。服务器端通过多线程的开发与运用,发送和接收通信信息,聊天和用户状态,以及棋局处理模块等功能,在客户端需要实现菜单栏、窗口界面、棋盘、棋子、昵称等模块。
在软件的开发过程中,先构建服务器端主类框架,实现相关的窗口,按钮,以及相应的功能,接着开发服务器线程和服务器代理线程,为客户端的开发运行做准备。服务器端开发完毕后,着手客户端主类框架的开发,完成界面的搭建和一些简单的业务处理,实现初始化方法,以及主类业务代码的框架的落实;随后进行客户端代理线程的开发,对连接的处理等;客户端代理线程完成后,紧接着对象棋规则主类框架进行开发,对应相应的棋子规则的处理方法的实现;然后进行开发棋盘类代码框架,实现鼠标事件的处理方法。在完善主类业务代码过程中,对相应的按钮进行相关的事件处理。
3
信息科学与技术学院学士学位论文
棋盘棋子的背景色和选中后的棋子颜色是通过声明常量实现的,声明常量的优点在于有利于修改程序。网络通信的过程是代理线程完成的,服务器端代理线程和客户端代理线程之间的连接是通过字符串传递消息实现的。服务器端有什么变化客户端会收到相应的信息,反之亦然。再采用Socket网络套接技术实现建立接口,传输数据等功能。基于Java的中国象棋游戏系统是图形界面、线程、监听器和文件等技术的综合运用[4]。
1.4 本章小结
本章简单介绍了关于象棋游戏的历史演变,Java语言与游戏开发之间的关系;简单概述了设计思路,以及开发过程中需要研究的内容和方向。内容主要集中在中国象棋软件的基本功能实现上,使玩家可以在线游戏。
4
信息科学与技术学院学士学位论文
2 系统分析
系统分析是开发软件之前必须完成的一些准备工作,为软件的顺利开发打下良好的基础,知道自己要做什么,并且计划好要怎么做,同时它也是系统设计的前提,所以系统分析务必要详细,防止造成项目的返工,带来不必要的损失。
2.1 可行性分析
2.1.1 技术可行性
Java是Sun Microsystem 公司开发的编程语言,Java语言具有高效性、通用性、平台移植性和安全性等特点。通常运用Eclipse软件进行编写,并进行编译执行。
Java 是一种非常新的语言,并且具有不断更新的功能,同时具有面向对象、分布式、解释执行、体系结构中立、可移植性、多线程、以及动态性等特点。同其他编程语言比起来,还要数Java技高一筹。中国象棋游戏系统的开发之所以使用Java语言,主要体现在以下几个方面:
(1)灵活性
“一次编写,到处运行”的Java语言是非常灵活的,它支持部署和开发环境中的各种变化。即使改变运行平台,也只需要做少量的改动,有时甚至不用修改也能在不同的平台运行。
(2)厂商的广泛支持
“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的关注和认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。
(3)用户的广泛支持
简洁方便的Java语言拥有良好的用户基础,它没有C语言包含的指针、结构、单元等晦涩难懂、容易混淆的特性,备受程序开发员的青睐。它并不局限于某一个
5

