JAVA程序设计-基于局域网的五子棋对战游戏.docVIP

JAVA程序设计-基于局域网的五子棋对战游戏.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档