- 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方法返回的输出流就是将要发送到服务器端的数据流,(其实是一个缓冲区,暂时存储将要发送过去的数
您可能关注的文档
最近下载
- 心理卫生与心理咨询00284.pdf VIP
- 新高一,第一次月考反思总结-高一上学期主题班会课件.pptx VIP
- 22-23年九上《道德与法治》期中试卷.pdf VIP
- 国开(SC)-安全原理-第4次形考作业-学习资料.docx VIP
- 道路交通信号灯设置与安装规范 GB14886-2016.docx VIP
- 最新苏教版六年级数学下册第一单元测试题.doc VIP
- 六年级语文质量分析语文工作总结PPT.pptx
- 2025至2030中国增塑剂(塑化剂)行业发展趋势分析与未来投资战略咨询研究报告.docx
- 智能学习环境构建在初中物理教学中的应用与效果评价教学研究课题报告.docx
- 2025民营经济促进法与案例讲座课件PPT.pptx
文档评论(0)