- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 3
目录
TOC \o 1-3 \h \z \u 1 概述 1
1.1 背景和意义 1
1.2 任务概述 1
1.3 设计环境 1
2 需求分析与设计 2
2.1 功能需求分析 2
2.2 游戏需求分析 2
2.2.1 游戏规则 2
2.2.2 游戏运行过程分析 2
3 系统整体设计 3
3.1 整体设计 3
3.2 程序流程图 3
3.2.1 服务器流程图 3
3.2.2 客户端流程图 4
4 原理分析 5
4.1 服务器和客户端通信机制 5
4.2 多线程机制 6
4.3 客户端棋盘的实现 7
5 服务器的设计与实现 8
5.1 服务器监听 8
5.2 传递信息 9
6 客户端设计与实现 10
6.1 客户端界面设计 10
6.2 注册监听者 11
6.3 连接服务器 11
6.4 存储棋子数据结构 11
6.5 判断输赢算法 11
7 相关演示 15
8 总结 16
9 参考书籍 17
概述
背景和意义
五子棋是起源于中国古代的传统黑白棋种之一。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
Java作为当今最为流行的程序语言,在经过一个学期的学习之后,使得我有了一定的基础,但是,如果只是局限于书本上的内容,而不运用于实际之中,是不会有进步的。所以,针对本次课程设计,为了检验自己的学习成果,选择了五子棋游戏作为课题。
而之所以选择该课题,是因为其涉及了基于TCP/IP的网络编程、多线程、GUI组件的使用,以及事件驱动设计,有较强的综合需求,对于我们是一次不做的检验。
任务概述
根据课题需求,联系实际,完成一个基于局域网的五子棋对战游戏,采用CS架构,使得在处于同一局域网环境内的客户端可以两两对战,进行游戏。
本次课程设计的任务总的分为两个部分,一个是服务端程序的实现,另一个是客户端程序实现。并且,由于我们小组刚好是两个人,所以由王康实现服务端程序,而我则负责客户端程序的实现。
设计环境
硬件要求能运行Windows XP、Windows7或Windows 8操作系统的微机。JAVA程序设计语言及相应的集成开发环境,Eclipse软件编写Java程序。
需求分析与设计
功能需求分析
服务器程序的功能需求有以下几点:
开启套接字,等待客户端的连接
管理两个玩家之间的通信,相互转发处于对战状态的两个客户端的落子坐标
判断游戏的输赢状态,以及将该状态发送给客户端
客户端端程序功能需求有以下几点:
主动连接服务程序
创建交互界面
监听玩家的落子事件
接受服务程序转发对手的落子落标,将自己的落子坐标发送给服务程序
接受服务程序对于游戏的状态的处理结果
绘制棋盘以及双方的棋子
游戏需求分析
游戏规则
五子棋专用棋盘为 15×15,盘面有纵横各十五条等距离垂直交叉的平行线构成,共225个交叉点。盘面正中一点为天元。黑先(Start)、白后,从天元(h8)开始相互顺序落子。黑方的第一个棋子应下在天元上,白方第一个棋子只能下在与天元为中心邻近的八个点上,黑方第二个棋子只能下在与天元为中心邻近5×5点上,白棋第二个棋子不受限制,可下在棋盘任意位置。最先在棋盘横向、竖向、斜向形成连续的相同色五个棋子的一方为胜。
游戏运行过程分析
由两个玩家交替落子,如果不是自己的回合,则不能落子,需等待对手落子才会到自己的回合。双方玩家每落一次子,服务器都会对游戏状态进行判断,如果有一方赢了,或者和棋,则会结束游戏。
系统整体设计
整体设计
本次课程设计采用的CS网络架构模式,并采取基于TCP/IP的网络协议。
通过使用多线程和网络套接字SOCKET来实现游戏之间的通讯,它是基于点对点的通讯。开始让服务器初始化建立服务器套接字SOCKET,基于某个端口PORT,服务器始终处于监听状态。客户端是动作的发起者,何时发出申请由客户端决定。客户端向服务器发出申请,服务器给予响应。打开客户端套接字SOCKET,连接到服务器端的地址ADDRESS和端口PORT。连接建立后,创建一个SOCKET实例,并开始一个线程,监听该客户端请求。服务器继续监听其它用户的连接。服务器通过数据输入流从客户端接收信息,并且通过数据输出流把相应的信息发送给客户端。客户端发送请求和响应接收到的各种信息。
程序流程图
服务器流程图(图3-2-1)
图3-2-1
客户端流程图(图3-2-2)
图3-2-2
原理分析
服务器和客户端通信机制
Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。 Soc
您可能关注的文档
- 《数据库原理》课程设计-宾馆管理系统.doc
- orcale大型数据库-银行账户管理系统设计1.docx
- orcale大型数据库-银行账户管理系统设计2.docx
- WEB技术与应用-在线考试系统设计.doc
- 大型数据库应用-人事管理系统设计.doc
- 基于Android平台校园助手设计和开发.doc
- 基于JavaEE的网上订餐系统设计与实现.doc
- 基于MVC的校园自行车租赁系统的开发.doc
- 计算机网络课程设计:小型企业网的设计与组建.doc
- 面向对象程序设计-基于MFC的简易科学计算器.docx
- 新的一年工作展望.docx
- 医生年终个人工作的述职报告(3篇).docx
- 2023年消防设施操作员之消防设备中级技能考前冲刺练习题附答案详解.docx
- 2022-2023年环境影响评价工程师之环评技术导则与标准通关练习题包括详细解答.docx
- 2023年中级注册安全工程师之安全生产管理考前冲刺检测卷和答案.docx
- 2023年中级银行从业资格之中级银行管理考前冲刺测试卷提供答案解析.docx
- 2023年公共营养师之二级营养师通关模拟考试试卷附带答案.docx
- 证券分析师之发布证券研究报告业务考前冲刺模拟题库.docx
- 2022-2023年二级建造师之二建建设工程法规及相关知识综合提升测试卷附答案.docx
- 2023年二级建造师之二建机电工程实务通关模拟考试试卷提供答案解析.docx
文档评论(0)