- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
广西科技大学鹿山学院
面向对象程序设计实训报告
题
目:
网络中国象棋
系
别:
电气与计算机工程系
专业班级:
计软 141 班
姓
名:
邓康言
学
号:
成绩评定:
指导教师签字:
2016 年 1 月10 日
目录
目录
1、 需求分析
1.1 开发的背景
·中国象棋有着悠久的历史,象棋爱好者更是不计其数,但是由于人们的工作地点从、时间的限制,原始的那种面对面的下棋方式已经不再适应人们的生活,人们已经开始走向网络象棋博弈
·网络象棋有着很多的优点,通过网络象棋,对弈的双方是网络上任意的两个象棋爱好者,甚至是不认识。网络让对弈的范围更加的广泛,让象棋爱好者可以与更多的象棋爱好者切磋棋艺。
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
服务器端框架类设计
import
java.util.*;
import
java.awt.*;//
界面包
import
import
javax.swing.*;//
图形化界面包
import
.*;//
图形化界面包事件进行处理
import
java.net.*;//
网络包
import
java.io.*;//IO
流
public
class
Server
extends JFrame
implements
ActionListener
{
JLabel jlPort=
new JLabel(
端 口 号 );//
创建提示输入端口号标签
JTextField jtfPort=
new JTextField(9457);//
用于输入端口号的文本框
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
对象
ServerSocket ss;//
声明 ServerSocket
引用
ServerThread st;//
声明 ServerThread
引用
Vector onlineList=
new Vector();//
创建存放当前在线用户的 Vector
对象
public Server()
{
this
.initialComponent();//
初始化控件
this
.addListener();//
为相应的控件注册事件监听器
this
.initialFrame();//
初始化窗体
}
this
.setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE);
public
void initialComponent()
{
jps.setLayout(
null );// 设为空布局
jlPort.setBounds(20,20,50,20);
jps.add(jlP
您可能关注的文档
- 26个英文字数母书写学习练习四线三格打印版本.docx
- 26英文字数母学习教案.docx
- 3.2以种植业为主的农业地域类型导的学案.docx
- 3.4升华及凝华导的学案.docx
- 3.山东大学单片机答案.docx
- 3503J106A工程中间交接证书.docx
- 3dMAX实验报告总结计划.docx
- 3第2课时切线长定理及三角形的内切圆.docx
- 4.3相似三角形学习教案.docx
- 4.4光的折射导的学案.docx
- LAN电气测试规范总结要点总结计划.docx
- LEDTV液晶电视检验规范总结汇编.docx
- LED屏投放合作项目解析总结计划解析.docx
- Module2Unit1IwenttoChinatowninNewYorkyesterday学习教学学习设计2.docx
- Module6Unit1ItwasDamingx27sbirthdayyesterday同步学习练习1.docx
- Module6Unit2Hex27sgotanewshirt.同步学习练习3.docx
- Module8Unit2Isthisyourgrandmax27sumbrella.同步学习练习3.docx
- pep小学五年级英语上册的各课时学习教学反思.docx
- PEP小学小学三年级英语上下册的综合学习复习总结计划练练习习题.docx
- PEP小学小学六年级英语下册的学习教案全册及反思.docx
文档评论(0)