预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共36页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

广西科技大学鹿山学院面向对象程序设计实训报告题目:网络中国象棋系别:电气与计算机工程系专业班级:计软141班姓名:邓康言学号:20141409成绩评定:指导教师签字:2016年1月10日目录目录1、需求分析11.1开发的背景11.2算法11.3要求12、总体分析与设计12.1总体设计方案12.2功能描述22.2.1服务器端22.2.2客户端22.3算法设计----32.5系统流程图----43、数据结构设计43.1功能模块的设计43.1.1服务器端框架类设计43.1.2服务器线程设计83.1.3服务器代理线程设计83.1.4棋子的开发类设计133.1.5客户端的框架类设计143.1.6客户端的框架类设计163.1.7棋子的规则类设计193.1.8棋盘的规则类设计224、系统实现264.1服务器端界面264.2客户端界面264.3未启动服务器客户端连接失败274.4服务器启动274.5服务器启动客户端成功连接284.6显示在线用户284.7不允许重名294.8发起挑战294.9拒绝挑战304.10接受挑战304.11对战走棋314.12不能向正在下棋的用户发起挑战314.13赢棋324.14认输324.15服务器关闭33总结33参考文献34需求分析1.1开发的背景·中国象棋有着悠久的历史象棋爱好者更是不计其数但是由于人们的工作地点从、时间的限制原始的那种面对面的下棋方式已经不再适应人们的生活人们已经开始走向网络象棋博弈·网络象棋有着很多的优点通过网络象棋对弈的双方是网络上任意的两个象棋爱好者甚至是不认识。网络让对弈的范围更加的广泛让象棋爱好者可以与更多的象棋爱好者切磋棋艺。1.2算法·指定服务器端口号·支持多人同时在线··显示在线用户信息·显示当前在线所有用户·从在线用户列表中选择玩家进行挑战·接受或拒绝挑战1.3要求·用Java语言实现系统源程序要有适当的注释使程序容易阅读·函数功能要划分好(结构化程序设计)·可以增加新功能模块总体分析与设计2.1总体设计方案·系统功能模块图:2.2功能描述2.2.1服务器端·可以指定服务器端口号。·可以支持多人同时在线。·可以显示在线用户信息。·不允许玩家同名2.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.*;//图形化界面包importjavax.swing.event.*;//图形化界面包事件进行处理importjava.net.*;//网络包importjava.io.*;//IO流publicclassServerextendsJFrameimplementsActionListener{JLabeljlPort=newJLabel("端口号");//创建提示输入端口号标签JTextFieldjtfPort=newJTextField("9457");//用于输入端口号的文本框JButtonjbStart=newJButton("启动");//创建"启动"按钮JButtonjbStop=newJButton("关闭");//创建"关闭"按钮JPaneljps=newJPanel();//创建一个JPanel对象JListjlUserOnline=newJList();//创建用于