欢迎来到天天文库
浏览记录
ID:37975112
大小:393.81 KB
页数:24页
时间:2019-06-04
《网络中国象棋对战》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JavaSE6项目开发培训视频网络中国象棋对战课程安排开发背景系统分析系统设计服务器端框架设计服务器线程的开发服务器代理线程的开发与设计服务器端的完善课程安排(续)棋子类的开发客户端主类框架的开发客户端代理线程的开发规则类的开发与设计棋盘类的开发与设计客户端主类业务代码的完善消息处理机制知识点汇总章末总结开发背景中国象棋有着悠久的历史,象棋爱好者更是不计其数,但是由于人们工作地点、时间的限制,原始那种面对面的下棋方式已经不再适应人们的生活,人们已经开始走向网络象棋。网络象棋有着很多的优点,通过网络象棋,对弈
2、双方可以是网络上任意两个象棋爱好者,甚至从不认识。网络象棋让对弈的范围更加的广泛,让象棋爱好者可以与更多的象棋爱好者切磋棋艺。系统分析系统分析主要是完成软件开发前的一些准备工作,为软件的顺利进行做好准备,同时其也是后面系统设计的前提,所以系统分析必须尽量详细,防止造成项目的返工,带来不必要的损失。系统分析(续)1、服务器端可以指定服务端口号。可以支撑多人同时在线。可以显示在线用户的信息。不允许玩家同名。系统分析(续)2、客户端能够通过主机IP及端口号登录到服务器。可以显示当前所有用户。可以从在线用户列表中选
3、择玩家进行去挑战。可以接受或拒绝挑战。如果对方正在与其他玩家对弈中,则应给出相应的提示信息。象棋规则一定要严密。棋子样式采用最普通的橡胶式象棋,即棋子黑色,字为红色和白色。系统设计系统分析确定了本系统的最终目标,系统结构如下图所示:系统设计(续)该游戏的主体是客户端,整个游戏的规则都是在客户端,服务器端只是在中间传递数据,起到一个中介的作用,具体实现在后面会进行详细介绍。系统预览这一节将对本系统各功能进行演示。服务器端框架设计从本节开始将正式进入该游戏的开发过程,当然首先从服务器端开始,因为只有有了服务器的
4、基础框架,客户端在开发过程中才能进行一些必要的测试,这是该类游戏一般的开发流程。服务器端主类即服务器端的运行类,用户通过运行该类进入服务器的主界面,其实这里暂时只能开发出服务器的简单框架及界面,因为服务器线程和服务器代理线程暂时都还没有开发,等相应的类开发完成之后,再回到该类进行代码完善。服务器线程的开发服务器线程是服务器启动后创建并启动的第一个线程,该线程主要用于接收客户端的连接,并为每一个连接分配一个服务器代理线程。服务器代理线程的开发与设计服务器代理线程主要用于接收客户端传来的信息,并将该信息转发给对
5、应的另一客户端。服务器为所有客户端都分配了一个该类线程实例,单独为特定客户端进行服务。同时每一个服务器代理线程都有能惟一标识其的名称。服务器端的完善服务器端的类的框架都已经开发完成,但在一开始时,由于没有服务器线程和服务器代理线程,有些业务处理代码没有开发,本节将完成对服务器端各个类的完善工作。棋子类的开发前面我们已经基本完成了服务器端的开发,已经可以接收客户端的连接,从本节开始将正式进入客户端的开发,下象棋当然要有棋子,下面我们将对棋子类进行介绍,该类主要包含着棋子的属性及一些关于属性的小的方法。客户端主
6、类框架的开发客户端主类即客户端的运行类,用户通过运行该类连接服务器,也是通过在该类的窗体中与其他玩家进行对弈。当然其与服务器端主类的开发类似,由于部分类没有开发,这里暂时只能完成界面的搭建及简单的业务代码框架,具体的业务代码在后面的开发中会进行完善。客户端代理线程的开发客户端代理线程主要用于接收服务器传来的消息,并根据不同的消息进行相应的业务处理,当然这里暂时先给出该类的代码框架,对消息的业务处理代码在后面会进行介绍。规则类的开发与设计通过上面的开发,客户端已经可以连接到服务器,而且通信的框架也已经开发完成
7、,下面我们将正式开始进入游戏逻辑业务的开发。首先将从下棋最基本的一步开始,即开发下棋的规则。棋盘类的开发与设计棋盘类除了完成绘制棋盘的作用,同时还负责下棋逻辑的处理。消息处理机制下面我们将对消息的处理进行简单的介绍。知识点汇总数组的巧妙用法:对于像棋盘这样的情况,如果能够巧妙的运用数组下标代替像素坐标,将起到非常好的效果。本案例的棋盘就利用了数组,将棋子放在数组里。这样对于每一个位置的状态,都可以通过对应的数组状态进行确定,非常的方便。网络套接字的开发方法:该技术是Java程序员必备的一项技术,也是进行桌面
8、版网络程序开发的必不可少的技术,特别是对于一些对实时性要求高的应用,网络套接字是必须的。知识点汇总游戏通信方法:本节是通过字符串传递信息,读者应该在游戏中体会到了,其实通信的手段很多,不同的开发者有着不同的习惯。在后面的另一个游戏例子中还会对该知识进行更详细的介绍,希望读者能通过下一个例子的学习熟练掌握这一方法。Swing的相关知识:其中比较重要的一点是抗锯齿的使用方法。通过使用抗锯齿这个知识点,使象棋棋子变的更
此文档下载收益归作者所有