1 / 47
文档名称:

Java实验报告——网络中国象棋对战.doc

格式:doc   页数:47页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java实验报告——网络中国象棋对战.doc

上传人:yixingmaoh 2016/7/1 文件大小:0 KB

下载得到文件列表

Java实验报告——网络中国象棋对战.doc

相关文档

文档介绍

文档介绍:《 Java 语言程序设计( 英) 》课程大作业报告开发背景中国象棋有着悠久的历史,象棋爱好者更是不计其数,但是由于人们工作地点,时间的限制,原是那种面对面的下棋方式已经不再适合人们的生活,人们已经开始走向网络象棋。网络象棋有着很多的优点,通过网络象棋,对弈双方可以是任意两个象棋爱好者,甚至从不认识。网络象棋让对弈的范围更加的广泛,让象棋爱好者可以与更多的象棋爱好者切磋棋艺。系统分析 1 、服务器端可以指定服务端口号可以支撑多人同时在线可以显示在线用户的信息不允许玩家同名 2 、客户端能够通过主机 IP 及端口号登陆到服务器可以显示当前所有用户可以从在线用户列表中选择玩家进行挑战可以接受或拒绝挑战如果对方正在与其他玩家对弈中,则应给出相应的提示信息象棋规则一定要严密棋子样式采用最普通的橡胶式象棋,即棋子黑色,文字红色和白色设计方案与算法分析: 服务器端框架设计游戏开发过程,当然首先从服务器端开始,因为有了服务器的基础框架,客户端在在开发过程中才能进行一些有必要的测试,这是该类游戏一般的开发流程。服务器端主类即服务器端的运行类,用户通过运行该类进行服务器的主界面,其实这里暂时只能开发出服务器的简单框架及界面,因为服务器线程和服务器代理线程暂时都还没有开发,等相应的类开发完成之后,再回到该类进行代码完善。服务器线程的开发服务器线程是服务器启动后创建并启动的第一个线程, 该线程主要用于接受客户端的连接, 并为每一个链接分配一个服务器代理线程为其进行服务。服务器代理线程的开发与设计服务器代理线程主要用于接收客户端传来的信息并将该信息转发给对应的另一客户端。服务器为所有的客户端都分配了一个该类实例,单独为特定客户端进行服务。同时每一个服务器代理线程都有唯一能标志其的名称。服务器端的完善服务器端的类的框架都已开发完成,但在一开始时,由于没有服务器线程和服务器代理线程,有些业务处理代码没有开发,从而将完成对服务器端各个类的完善工作。棋子类的开发前面我们已经基本完成了服务器端的开发,已经可以接受客户端的连接,从这里开始将正式进入客户端的开发,下象棋当然要有棋子,下面我们将对棋子类进行介绍,该类主要包含着棋子的属性及一些关于属性的小的方法。客户端主类框架的开发客户端主类即客户端的运行类,用户通过运行该类连接服务器,也是通过在该类的窗体中与其他玩家进行对弈。当然其与服务器端主类的开发类似,由于部分类没有开发,这里暂时只能完成界面的搭建及简单的业务代码框架,具体的业务代码在后面的开发中会进行完善。客户端代理线程的开发客户端代理线程主要用于接收服务器传来的消息, 并根据不同的消息进行相应的业务处理, 当然这里暂时先给出该类的代码框架,对消息的业务处理代码在后面会进行介绍。规则类的开发与设计通过上面的开发,客户端已经可以连接到服务器,而且通信的框架也已经开发完成,下面我们将正式开始进入游戏逻辑业务的开发。首先将从下棋最基本的一步开始,即开发下棋的规则。棋盘类的开发与设计棋盘类除了完成绘制棋盘的作用,同时还负责下棋逻辑的处理。完整代码如下: package ; import .*; import .*; import .*; import .*; import .*; import .*; import .*; public class Server extends JFrame implements ActionListener { JLabel jlPort=new JLabel(" 端口号");// 创建提示输入端口号标签 JTextField jtfPort=new JTextField("9999");// 用于输入端口号的文本框 JButton jbStart=new JButton(" 启动");// 创建" 启动" 按钮 JButton jbStop=new JButton(" 关闭");// 创建" 关闭" 按钮 JPanel jps=new JPanel();// 创建一个 JPanel 对象 JList jlUserOnline=new JList();// 创建用于显示当前用户的 JList JScrollPane jspx=new JScrollPane(jlUserOnline);// 将显示当前用户的 JLis t放在 JScrollPan e 中 JSplitPane jspz=new JSplitPane(,jspx,jps);// 创建 JSplitPane 对象 ServerSocket ss;// 声明 ServerS

最近更新

2024年给同学感谢信 13页

2024年给保洁阿姨表扬信 7页

2024年结婚请柬范文邀请函 5页

2021上海高考英语真题:听力原文与音频【沪江.. 8页

2022年中级会计师《会计实务》试题及答案 6页

2022~2023三种人考试考试题库及答案第768期 7页

22春南开大学《劳动法》在线作业二答案参考8 6页

2024年经理上任发言稿 29页

专业能力的自我评价(通用11篇) 14页

九年级语文上册必背古诗词汇总(课外) 6页

企业公司纪委廉政风险排查工作报告 7页

材料科学与健身器材个性化创新 26页

2024年经典的英文语录 21页

医疗器械项目创业计划书 30页

员工加薪申请书范文(完整版) 14页

基层用药:各类处方点评之典型案例分析 9页

2024年经典大货车租赁合同3篇 5页

棕色脂肪瘤与棕色瘤 39页

3D打印防护装备 24页

古典文学的生态与环境观 24页

模袋混凝土施工工艺 10页

小学校长年度党风廉政建设述职报告(全文共467.. 4页

湘少版四年级下册英语按要求写句子课堂知识练.. 6页

现浇钢筋混凝土框架结构施工方案 7页

电气工程及其自动化专业个人简历 4页

福建省厦门市2021-2022学年高二上学期期末质量.. 4页

美发与形象设计美发与形象设计方向专业教学计.. 14页

小学春季教育教学工作会议主持词 2 3页

设备维护部管理及设备方面存在的问题 6页

人教版小学劳动教育一年级下册第一章劳动项目.. 5页