- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java实验报告——网络中国象棋对战本科生毕业设计(论文)
《》课程大作业报告
中国象棋有着悠久的历史,象棋爱好者更是不计其数,但是由于人们工作地点,时间的限制,原是那种面对面的下棋方式已经不再适合人们的生活,人们已经开始走向网络象棋。
网络象棋有着很多的优点,通过网络象棋,对弈双方可以是任意两个象棋爱好者,甚至从不认识。网络象棋让对弈的范围更加的广泛,让象棋爱好者可以与更多的象棋爱好者切磋棋艺。
系统分析
1、服务器端
可以指定服务端口号
可以支撑多人同时在线
可以显示在线用户的信息
不允许玩家同名
2、客户端
能够通过主机IP及端口号登陆到服务器
可以显示当前所有用户
可以从在线用户列表中选择玩家进行挑战
可以接受或拒绝挑战
如果对方正在与其他玩家对弈中,则应给出相应的提示信息
象棋规则一定要严密
棋子样式采用最普通的橡胶式象棋,即棋子黑色,文字红色和白色
设计方案算法分析
服务器端框架设计
游戏开发过程,当然首先从服务器端开始,因为有了服务器的基础框架,客户端在在开发过程中才能进行一些有必要的测试,这是该类游戏一般的开发流程。
服务器端主类即服务器端的运行类,用户通过运行该类进行服务器的主界面,其实这里暂时只能开发出服务器的简单框架及界面,因为服务器线程和服务器代理线程暂时都还没有开发,等相应的类开发完成之后,再回到该类进行代码完善。
服务器线程的开发
服务器线程是服务器启动后创建并启动的第一个线程,该线程主要用于接受客户端的连接,并为每一个链接分配一个服务器代理线程为其进行服务。
服务器代理线程的开发与设计
服务器代理线程主要用于接收客户端传来的信息并将该信息转发给对应的另一客户端。服务器为所有的客户端都分配了一个该类实例,单独为特定客户端进行服务。同时每一个服务器代理线程都有唯一能标志其的名称。
服务器端的完善
服务器端的类的框架都已开发完成,但在一开始时,由于没有服务器线程和服务器代理线程,有些业务处理代码没有开发,从而将完成对服务器端各个类的完善工作。
棋子类的开发
前面我们已经基本完成了服务器端的开发,已经可以接受客户端的连接,从这里开始将正式进入客户端的开发,下象棋当然要有棋子,下面我们将对棋子类进行介绍,该类主要包含着棋子的属性及一些关于属性的小的方法。
客户端主类框架的开发
客户端主类即客户端的运行类,用户通过运行该类连接服务器,也是通过在该类的窗体中与其他玩家进行对弈。当然其与服务器端主类的开发类似,由于部分类没有开发,这里暂时只能完成界面的搭建及简单的业务代码框架,具体的业务代码在后面的开发中会进行完善。
客户端代理线程的开发
客户端代理线程主要用于接收服务器传来的消息,并根据不同的消息进行相应的业务处理,当然这里暂时先给出该类的代码框架,对消息的业务处理代码在后面会进行介绍。
规则类的开发与设计
通过上面的开发,客户端已经可以连接到服务器,而且通信的框架也已经开发完成,下面我们将正式开始进入游戏逻辑业务的开发。首先将从下棋最基本的一步开始,即开发下棋的规则。
棋盘类的开发与设计
棋盘类除了完成绘制棋盘的作用,同时还负责下棋逻辑的处理。
完整代码如下:
package wyf.cgq;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.net.*;
import java.io.*;
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);//将显示当前用户的JList放在JScrollPane中
JSplitPane jspz=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jspx,jps);//创建JSplitPane对象
ServerSocke
您可能关注的文档
- 《百万大奖》中的材质绘制、渲染和剪辑本科生毕业(设计)论文.doc
- 《百科生活秀》彩信手机报植入略论广告设计本科生毕业设计(论文).doc
- 《what i have done》动画mtv动画分镜设计本科生毕业设计(论文).doc
- 《波西米亚丑闻》中的语用预设研究本科生毕业设计(论文).doc
- 《红字》中海斯特的女性意识本科生毕业设计(论文).doc
- 《江雪》flash公益短片制作始末本科生毕业设计(论文).doc
- 《梦flying》的创作历程本科生毕业(设计)论文.doc
- 《虞美人 听雨》水墨动画角色动画、材质本科生毕业设计(论文).doc
- 《三维动画设计与制作》本科生毕业设计(论文).doc
- 《肇事逃逸》动画短片的美术设计本科生毕业设计(论文).doc
- DB14T32822025布鲁氏菌病患者健康管理服务规范.docx
- DB14T32862025成人预防接种门诊设置指南.docx
- DB14T23892021FDIS住院精神障碍患者健康教育服务规范.docx
- DB36T20252024流感网络实验室管理规范.docx
- DB14T32812025职业健康检查报告编制规范.docx
- DB14T30652024医疗临床运送工作规范.docx
- DB14T32742025经皮经椎间孔入路脊柱内镜手术规范.docx
- DB14T327620255G+远程医疗平台建设指南 总体框架.docx
- DB31T15722025医疗机构集中空调通风系统卫生规范.docx
- DB14T30622024内镜下黏膜剥离术操作规程.docx
最近下载
- 宇通系列客车说明书.pdf VIP
- 【哔哩哔哩-2025研报】十五大特色人群白皮书:洞见B站人群的年轻、好玩、有趣.pdf VIP
- CNCA-00C-005工厂质量保证能力要求.pdf VIP
- 人教版八年级物理下册 第十二章简单机械单元测试题.doc VIP
- 大体积混凝土温度计算(V3.0).xls VIP
- 产科应急预案演练脚本模板(2篇).docx VIP
- 日置 IM7580阻抗分析仪使用说明书.pdf VIP
- 饮用水安全及其保障技术.pptx VIP
- 2021年年重污染天气应急桌面推演脚本.pdf VIP
- 《水泥基灌浆材料应用技术规范》GB@T50448-2008(高清版).pdf VIP
文档评论(0)