- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
1 绪论 1
1.1 课程设计意义 1
1.2 课设目的 1
1.3 课设要求 1
2 网络五子棋介绍 2
2.1 网络五子棋介绍 2
2.2 游戏玩法 2
3 系统整体设计 3
3.1 整体设计 3
3.2 系统流程图 4
4 原理分析 5
4.1 服务器和客户端通信机制 5
4.2 多线程机制 7
5 服务器的设计与实现 8
5.1 服务器监听 8
5.2 传递信息 9
6 客户端设计与实现 10
6.1 客户端界面设计 11
6.1.1 GUI图形界面设计 12
6.1.2 注册监听者 13
6.2 连接服务器 14
6.3 传递信息 14
6.4 棋盘数据结构 15
6.5 判断输赢算法 16
6.6 背景音乐 17
7 设计实现 18
8 总结 20
谢辞 21
参考文献 21
绪论
课程设计意义
五子棋是起源于中国古代的传统黑白棋种之一。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
经过一个学期的学习,使我对Java有了一定的了解。但要深入理解Java语言,单靠上课是不够的。必须通过课程设计,设计一个比较大的程序,才能更深一步地理解Java语言。在这次课程中,我选择了网络五子棋作为课题。编写网络五子棋游戏要利用到Socket网络编程技术和多线程。通过这次课程设计,熟悉Java的GUI图形界面设计,网络Socket 编程和多线程编程。
课设目的
通过课程设计,使学生理论联系实际,在程序设计实践中进一步了解JAVA程序设计方法掌握类和对象的基本编程方法,熟悉GUI图形界面编程技术,初步了解Socket编程方法。
课设要求
通过课程设计完成一个网络五子棋游戏。由服务器和客户端组成。在Internet中不同用户使用客户端通过服务器与其它玩家连接。进行五子棋网络对战或聊天。
程序中要实现GUI图形界面的棋盘、黑子、白子功能,设计棋局存储数据结构, 实现开始、重来、退出等基本功能, 实现输赢自动判别算法, 实现网络对战功能, 背景音乐播放功能等。
网络五子棋介绍
网络五子棋介绍
五子棋是起源于中国古代的传统黑白棋种之一。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源远流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。使两个不同计算机的使用者通过一定的网络连接,达到两人对战的功能15条横线×15条坚线组成交叉的每个点都可以棋游戏分黑白两方,每局由规定黑方先行。黑方玩家移动鼠标在棋盘中点击行棋。当黑方行棋完毕,转由白方行棋棋盘上形成横、竖、斜startsWith()的方法来读取消息头部,如果等于”[MSG]“,进行一步判定是为群聊还是私聊,分别调用不同的方法向客户端发送聊天内容。
图3-1
系统流程图
服务器流程图:图1-2
图3-2
客户端流程图:图3-3
图3-3
原理分析
服务器和客户端通信机制
Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。 Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户 。
在java中使用套接字相当简单,Java API为处理套接字的通信提供了一个类.Socket。使得编写网络应用程序相对容易。JAVA支持流套接字(stream socket)和数据报套接字(datagram socket)。流套接字使用TCP(Transmission Control Protocol,传输控制协议)进行数据传输,而数据报套接字使用UDP(User Datagram Protocol,用户数据报协议)。
图4-1
在Java中Socket可以理解为客户端或者服务器端的一个特殊的对象,这个对象有两个关键的方法,一个是getInputStream方法,另一个是getOutputStream方法。getInputStream方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到的输入流其实就是从服务器端发回的数据流。GetOutputStream方法得到一个输出流,客户端Socket对象上的getOutputStream方法返回的输出流就是将要发送到服务器端的数据流,(其实是一个缓冲区,暂时存储将要发送过去的数
您可能关注的文档
最近下载
- 建筑工程危险源识别及预防措施.doc VIP
- 团餐的工作流程.pptx VIP
- 华能汶上西曼克400KWP分布式光伏项目EPC总承包工程技术规范书.pdf VIP
- 二类医疗器械经营质量管理制度.docx VIP
- 超高压气井井口除砂器及现场应用.pptx VIP
- 2023年专升本考试:专升本《政治》历年真题汇编(共184题).doc VIP
- 汇川INOVANCE MD290系列通用变频器综合手册.PDF VIP
- 第6课 从小爱科学 第2课时(教学课件)2025统编版道德与法治三年级上册.pptx
- 2025年江苏省职业院校技能大赛中职组(法律实务)考试题库(含答案).doc VIP
- ISO9001质量管理体系基础培训-适合新人培训.ppt
文档评论(0)