Java实训项目中国象棋设计报告Word格式文档下载.docx
- 文档编号:14021789
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:45
- 大小:1.11MB
Java实训项目中国象棋设计报告Word格式文档下载.docx
《Java实训项目中国象棋设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java实训项目中国象棋设计报告Word格式文档下载.docx(45页珍藏版)》请在冰豆网上搜索。
网络让对弈的范围更加的广泛,让象棋爱好者可以与更多的象棋爱好者切磋棋艺。
1.2算法
·
指定效劳器端口号
支持多人同时在线·
显示在线用户信息
显示当前在线所有用户
从在线用户列表中选择玩家进行挑战
接受或拒绝挑战
1.3要求
用Java语言实现系统,源程序要有适当的注释,使程序容易阅读
函数功能要划分好〔结构化程序设计〕
可以增加新功能模块
2、总体分析与设计
2.1总体设计方案
系统功能模块图:
2.2功能描述
效劳器端
可以指定效劳器端口号。
可以支持多人同时在线。
可以显示在线用户信息。
不允许玩家同名
能够通过主机IP号及端口号登陆到效劳器。
可以显示当前在线所有用户。
可以从在线用户列表中选择玩家进行挑战。
可以接受或拒绝挑战。
如果对方在和其他玩家对弈中,那么应该给与相应的提示信息。
象棋规那么一定要严密。
棋子样式采用最普通的橡胶式象棋。
棋子为黑色,字为红色和白色
2.3算法设计----
本程序功能模块根据程序设计的需要。
综合程序的实用性、智能化的考虑。
将程序划分为8个模块来写。
〔1〕效劳器端的框架设计类
〔2〕效劳器线程类
〔3〕效劳器代理线程类
〔4〕棋子类的开发类
〔5〕客户端的框架设计类
〔6〕客户端线程类
〔7〕棋子的规那么类
〔8〕棋盘的设计类
2.5系统流程图----
3、数据结构设计
3.1功能模块的设计
3.1.1效劳器端框架类设计
importjava.util.*;
importjava.awt.*;
//界面包
importjava.awt.event.*;
//事件处理包
importjavax.swing.*;
//图形化界面包
import.*;
//图形化界面包事件进行处理
importet.*;
//网络包
//IO流
publicclassServerextendsJFrameimplementsActionListener
{
JLabeljlPort=newJLabel("
端口号"
);
//创立提示输入端口号标签
JTextFieldjtfPort=newJTextField("
9457"
//用于输入端口号的文本框
JButtonjbStart=newJButton("
启动"
//创立"
按钮
JButtonjbStop=newJButton("
关闭"
JPaneljps=newJPanel();
//创立一个JPanel对象
JListjlUserOnline=newJList();
//创立用于显示当前用户的JList
JScrollPanejspx=newJScrollPane(jlUserOnline);
//将显示当前用户的JList放在JScrollPane中
JSplitPanejspz=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,jspx,jps);
//创立JSplitPane对象
ServerSocketss;
//声明ServerSocket引用
ServerThreadst;
//声明ServerThread引用
VectoronlineList=newVector();
//创立存放当前在线用户的Vector对象
publicServer()
{
this.initialComponent();
//初始化控件
this.addListener();
//为相应的控件注册事件监听器
this.initialFrame();
//初始化窗体
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoidinitialComponent()
jps.setLayout(null);
//设为空布局
jlPort.setBounds(20,20,50,20);
jps.add(jlPort);
//添加用于提示输入端口号的标签
this.jtfPort.setBounds(85,20,60,20);
jps.add(this.jtfPort);
//添加用于输入端口号的文本框
this.jbStart.setBounds(18,50,60,20);
jps.add(this.jbStart);
//添加"
开始"
this.jbStop.setBounds(85,50,60,20);
jps.add(this.jbStop);
this.jbStop.setEnabled(false);
//将"
按钮设为不可用
publicvoidaddListener()
this.jbStart.addActionListener(this);
//为"
按钮注册事件监听器
this.jbStop.addActionListener(this);
publicvoidinitialFrame()
this.setTitle("
象棋--效劳器端"
//设置窗体标题
Imageimage=newImageIcon("
ico.gif"
).getImage();
this.setIconImage(image);
this.add(jspz);
//将JSplitPane添加到窗体中
jspz.setDividerLocation(250);
jspz.setDividerSize(4);
//设置分割线的位置和宽度
this.setBounds(20,20,420,320);
this.setVisible(true);
//设置可见性
this.addWindowListener(//为窗体关闭事件注册监听器
newWindowAdapter()
{
publicvoidwindowClosing(WindowEvente)
if(st==null)//当效劳器线程为空时直接退出
System.exit(0);
//退出
return;
try
Vectorv=onlineList;
intsize=v.size();
for(inti=0;
i<
size;
i++)
//当不为空时,向在线用户发送离线信息
ServerAgentThreadtempSat=(ServerAgentThread)v.get(i);
tempSat.dout.writeUTF("
<
#SERVER_DOWN#>
"
tempSat.flag=false;
//终止效劳器代理线程
st.flag=false;
//终止效劳器线程
st=null;
ss.close();
//关闭ServerSocket
v.clear();
//将在线用户列表清空
refreshList();
//刷新列表
catch(Exceptionee)
ee.printStackTrace();
);
publicvoidactionPerformed(ActionEvente)
if(e.getSource()==this.jbStart)
{//当单击"
按钮时
this.jbStart_event();
elseif(e.getSource()==this.jbStop)
{//单击"
按钮后
this.jbStop_event();
publicvoidjbStart_event()
//单击"
按钮的业务处理代码
intport=0;
//获得用户输入的端口号,并转化为整型
port=Integer.parseInt(this.jtfPort.getText().trim());
{//端口号不是整数,给出提示信息
JOptionPane.showMessageDialog(this,"
端口号只能是整数"
"
错误"
JOptionPane.ERROR_MESSAGE);
if(port>
65535||port<
0)
{//断口号不合法,给出提示信息
端口号只能是0-65535的整数"
this.jbStart.setEnabled(false);
//将开始按钮设为不可用
this.jtfPort.setEnabled(false);
//将用于输入端口号的文本框设为不可用
this.jbStop.setEnabled(true);
//将停止按钮设为可用
ss=newServerSocket(port);
//创立ServerSocket对象
st=newServerThread(this);
//创立效劳器线程
st.start();
//启动效劳器线程
//给出效劳器启动成功的提示信息
效劳器启动成功"
提示"
JOptionPane.INFORMATION_MESSAGE);
//给出效劳器启动失败的提示信息
效劳器启动失败"
this.jbStart.setEnabled(true);
//将开始按钮设为可用
this.jtfPort.setEnabled(true);
//将用于输入端口号的文本框设为可用
//将停止按钮设为不可用
publicvoidjbStop_event()
size
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 项目 中国象棋 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)