网络对弈课程设计说明书讲解

上传人:我** 文档编号:116140845 上传时间:2019-11-16 格式:DOC 页数:58 大小:917KB
返回 下载 相关 举报
网络对弈课程设计说明书讲解_第1页
第1页 / 共58页
网络对弈课程设计说明书讲解_第2页
第2页 / 共58页
网络对弈课程设计说明书讲解_第3页
第3页 / 共58页
网络对弈课程设计说明书讲解_第4页
第4页 / 共58页
网络对弈课程设计说明书讲解_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《网络对弈课程设计说明书讲解》由会员分享,可在线阅读,更多相关《网络对弈课程设计说明书讲解(58页珍藏版)》请在金锄头文库上搜索。

1、编号: 计算机网络课程设计说明书 题 目:网络对弈程序设计 系 别:计算机科学与工程学院 专 业:计算机科学与技术 学生姓名: 学 号: 指导教师: 王虎寅 2013 年 3 月 20 日 目目 录录 1 1 设计任务及目标设计任务及目标 1 1 1.1 开发背景以及设计目标 1 1.2 设计任务.1 2 2 需求分析需求分析 2 2 2.1 系统需求.2 2.2 用户需求.2 2.2.1 服务端需求2 2.2.2 客户端需求2 2.2.3 技术上可行性分析3 2.3.系统运行环境 4 3 3 总体设计总体设计 4 4 3.1 系统结构设计.4 3.2 服务器设计.5 3.3 客户端设计.7

2、3.4 棋类设计.8 4 4 详细设计详细设计 9 9 4.1 服务器 9 4.1.1 服务器主类的设计开发 9 4.1.2 服务器线程的设计开发 .13 4.2 客户端 .23 4.3 棋盘以及规则26 5 5 软件实现以及使用说明软件实现以及使用说明 4646 5.1 服务器运行使用及测试46 52 客户端运行使用及测试 49 6 6 总结总结 5353 6.1 任务完成情况53 6.2 特色与不足53 6.2.1 特色 .53 6.2.2 不足 .53 6.3 所遇到的问题53 6.4 体会54 7 7 参考文献参考文献 5555 桂林电子科技大学课程设计说明书用纸 第 1 页 共 55

3、 页 1 1 设计任务及目标设计任务及目标 1.11.1 开发背景以及设计目标开发背景以及设计目标 五子棋有着悠久的历史,五子棋爱好者更是不计其数,但是由于 人们工作地点,时间的限制,生活节奏的加快,人们之间的交流越来 越少,面对面下五子棋的机会更是少了很多,那种面对面的下棋的方 式已经不再适应人们的生活,但网络给了人们一个交流的平台,因此 人们开始转向网络五子棋。 网络五子棋有很多优点,通过网络五子棋,对弈双方可以是网络 上任意两个五子棋的爱好者,甚至从不认识。网络五子棋让对弈的范 围更加的广泛,让玩家可以与更多的五子棋爱好者切磋棋艺。 所以我此次网络课程设计综合运用计算机网络、JAVA 语

4、言 程序设计、网络编程等课程知识;从需求分析入手,系统地掌 握计算机网络编程初级技术,独立、合理地完成网络五子棋对弈程序 设计任务。设计目标主要包括: (1)实现需求分析阶段所要求的服务器端以及客户端的功能。 (2)游戏界面朴素美观。 (3)棋子样式采用传统样式,黑色和白色。 (4)客户端的信息交流完全通过服务器传递完成。 1.21.2 设计任务设计任务 完成一个网络五子棋对弈程序设计工作。 根据自身多年来进行网络对弈的经验,以及了解,对网络五子棋 对弈的设计进行需求分析。根根设计目标以及需求分析对五子棋游戏 界面总体规划和设计,游戏界面设计好以后进行服务器端和客户端的 规划设计,最后进行棋盘

5、以及棋子的设计。设计阶段要进行服务器端 框架设计与业务代码开发,客户端框架设计与业务代码的开发,棋子 以及棋盘类的设计开发,规则类的设计开发等。 桂林电子科技大学课程设计说明书用纸 第 2 页 共 55 页 2 2 需求分析需求分析 2.12.1 系统需求系统需求 (1)满足客户端连接到服务器的基本要求。 (2)服务器满足记录客户端游戏动作的基本要求。 (3)满足服务器实时获得客户端游戏状态的基本要求。 2.22.2 用户需求用户需求 2.2.12.2.1 服务端需求服务端需求 (1)可以有一个显示服务器状态的界面,用于记录各个客户端的连 接状态。服务器是用于连接各个客户端的通信,如果独立地创

6、建一个 直观的服务器,将有力地显示客户端的每个状态,直观地向用户反应 各类信息。 (2)可以支持多人同时在线。一个服务器能够你能够接受来自其他 多个客户端的请求,提供相应的响应服务,是网络对弈的基本要求。 (3)可以显示在线用户的信息。显示在线用户的信息,比如主机名, IP 地址,以及连接断的状态,有利于用户随时监控客户端的通信状态。 (4)不允许玩家同名。不允许客户端同名即是不允许客户端的端口 号相同,如果相同,将会造成游戏登陆用户的管理混乱。 (5)服务器界面节约大方。服务器是用于监控客户端的连接情况, 没用必要做得繁杂,用户只需要直观的状态显示,所以我们的服务器 不需要设计太多按钮,只需

7、要有显示服务器状态,关闭服务器,清空 列表的按钮,方便用户操作。 桂林电子科技大学课程设计说明书用纸 第 3 页 共 55 页 2.2.22.2.2 客户端需求客户端需求 (1)能够通过主机 IP 及端口号登陆到服务器。 (2)可以显示当前所有用户。游戏客户端应设计一个可以显示当 前 所有在线用户的列表,有助于用户随意选择玩家挑战。 (3)可以从在线用户列表中选择玩家进行挑战。 (4)可以创建以及接受挑战。 (5)如果对方正在与其他玩家对弈,则应给出相应提示。 (6)五子棋规则一定要严密。其中五子棋游戏的规则如下: 棋盘,棋子: a) 棋盘为十五路,正中一点为“天元”,周围四点为小星。 b)

8、棋子分黑白两色,黑子 113 枚,白子 112 枚,共 225 枚。 比赛规则: a)黑先白后,从天元开始落子。然后执白棋的一方在黑棋周围的交 叉点上落子,白第二着棋应布在自己河界的一侧。此后,执黑方 在以天元为中心的 25 个交叉点的范围内布盘面的第三着棋。 b)最先在横向,竖向,斜向形成连续的相同色五个棋子的一方为胜。 c)黑棋禁手判负,白棋无禁手。黑棋禁手包括“三三”, “四四”,“长连”。 黑方只能“四三”胜。所谓禁手,是指黑方一子落下同时形成两个 或两个以上的活三,冲四及长连禁手。长连禁手是指黑方形成六 个或六个以上的连续棋子。 d)双方均不能形成五连为和棋。 e)对局中拔子,中途退

9、场均判为负。 f)五连与禁手同时形成,先五为胜。因黑方已形成五连,故禁手失 效,黑方胜。 g)黑方禁手形成时,白方应立即指出禁手点,黑方即负。若白方继 续应子,则黑方禁手不成立。 h)高段位职业比赛的特殊规定:“三手可交换”:黑下完第手,执 白者可提出交换。即执白方变为执黑方。 “五手两打法”:执黑下第 五手时,必须下两手棋,执白者从这两手棋中任选一步。 i)本文所论述的联机五子棋系统就是依照这种方式进行的。 桂林电子科技大学课程设计说明书用纸 第 4 页 共 55 页 2.2.32.2.3 技术上可行性分析技术上可行性分析 对需求分析阶段的结果进行总结,对软件的可行性分析如下: (1)网络对

10、弈需要两个客户端进行通信,而利用服务器的线程 开发,进行中间中介连接正好可以完成。 (2)五子棋的规则虽然严密,但是通过各种情况分析,然后将 每个情况分析设计出来。 (3)本系统的设计运行环境只用到 MyEclipse 的编程软件,无 需借用到其它的软件,比较容易实现。 2.3.2.3.系统运行环境系统运行环境 系统运行环境:MyEclipse 6.6 3 3 总体设计总体设计 3.13.1 系统结构设计系统结构设计 该游戏主要分为服务器端与客户端两部分。 服务器端的功能主要是建立与客户端的连接,监控客户端的连接 及断开的状态,接收客户端发送的信息以及向客户端发送信息。 客户端的功能主要是连接

11、服务器端,创建游戏用户,创建游戏, 加入游戏,选择玩家挑战,向服务器发送信息,接收服务器端发送来 的信息。其具体的功能模块如图所示: 桂林电子科技大学课程设计说明书用纸 第 5 页 共 55 页 网络五子 棋 服务器 端 客户端 启动服务器 维护在线用户 信息 接收客户端信息 向客户端发送信息 连接服务器 创建游戏 选择玩家挑战 向服务器发送信息 接收服务器传来的信息 3.23.2 服务器设计服务器设计 服务器的设计主要分为服务器主界面,服务器线程,服务器主机 面板三个部分。 服务器主界面的设计主要包括界面大小,界面背景,界面上的按 钮,比如清空列表,服务器状态,关闭服务器的设计,以及启动对客

12、 户端的监听,启动服务器线程。 服务器线程的设计主要包括接受多个客户端的连接,接受客户端 信息,向客户端发送信息。 服务器主机面板的设计主要包括客户端信息板的设计,包括板的 大小,背景颜色。其具体的功能模块如图所示: 桂林电子科技大学课程设计说明书用纸 第 6 页 共 55 页 服务器端 服务器主界面 服务器线程 服务器主机面板 监听客户端 启动服务器线程 清空,显示,关闭 服务器信息 接收客户端信息 向客户端发送信息 信息板的显示 桂林电子科技大学课程设计说明书用纸 第 7 页 共 55 页 3.33.3 客户端设计客户端设计 客户端的设计主要分为客户端界面,客户端线程两部分。 客户端界面的

13、设计主要包括客户端界面大小,背景颜色,主要按 钮:创建游戏,加入游戏,连接到服务器,放弃游戏,退出游戏的设 计以及它们对应事件的处理。 客户端线程的设计主要包括连接到服务器,向服务器发送信息, 接受服务器信息的设计以及它们对应的事件处理,比如收到服务器发 送来的游戏胜利,信息错误,信息有效等的处理。其具体功能模块如 图所示: 客户端 客户端界面 客户端线程 创建游戏 加入游戏 连接到游戏 连接到服务器 向服务器发送信息 放弃游戏 退出游戏 接收服务器信息 桂林电子科技大学课程设计说明书用纸 第 8 页 共 55 页 3.43.4 棋类设计棋类设计 五子棋类的设计主要分为棋盘,棋子,五子棋动作线

14、程,规则四 部分。 棋盘的设计主要包括画棋子,捕获下棋事件,画网络棋盘。 棋子 的设计包括黑棋以及白旗的设计,其中有大小,颜色,所属棋盘的设 计。 五子棋动作线程的设计包括处理捕获下棋信息,发送当前下棋信 息,这一部分的设计是五子棋类设计的重点。 规则的设包括取得指定棋子的位置,判断当前棋子是否取得胜利, 当前棋子各个方向的判断,当前所要下的棋子是否越界。 五子棋 棋盘 棋子 画棋子 捕获下棋事件 黑棋 白棋 五子棋线程 画网络棋盘 处理捕获的下 棋信息 发送当前下棋信 息 规 则 方向判断 胜利判断 越界判断 桂林电子科技大学课程设计说明书用纸 第 9 页 共 55 页 4 4 详细设计详细

15、设计 4.14.1 服务器服务器 4.1.14.1.1 服务器主类的设计开发服务器主类的设计开发 服务器主类即服务器端的运行类,用户通过运行该类进入服务器 的主界面。其中包括创建服务器端用到的控件以及声明用到的对象引 用,完成对控件的初始化:设置窗体的标题,图标,大小以及可见性, 将各个控件添加到各面板的相应位置 FIRServer.java 类: / 服务器界面类 public class FIRServer extends Frame implements ActionListener JButton clearMsgButton = new JButton(“清空列表“); JButto

16、n serverStatusButton = new JButton(“服务器状态“); JButton closeServerButton = new JButton(“关闭服务器“); Panel buttonPanel = new Panel(); ServerMsgPanel serverMsgPanel = new ServerMsgPanel(); ServerSocket serverSocket; Hashtable clientDataHash = new Hashtable(50); /将客户端套接口和输出 流绑定 Hashtable clientNameHash = new Hashtable(50); /将客户端套接口和客户 名绑定 Hashtable chessPeerHash = n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号