1、 学校代码: 学 号: HENAN INSTITUTE OF ENGINEERING 毕业设计(论文) 题 目 五子棋游戏的 _设计与开发_ 学生姓名 专业班级 学 号 系 (部) 计算机科学与工程系 指导教师(职称) 完成时间 2011 年 5 月 20 日 河南工程学院毕业设计 (论文)原创性声明 本人郑重声明:所呈交的论文,是本人在指导教师指导下,进行研究工作 所取得的成果。除文中已经注明引用的内容外,本论文的研究成果不包含任何 他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的 研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论 文原创性声明的法律责
2、任由本人承担。 论文作者签名: 年 月 日 开题报告 课题名称 五子棋的设计与开发 课题来源 老师推荐 课题类型 BX 指导老师 张建民 学生姓名 李龙龙 学号 200809201105 专业 计算机应用技术 一、选题的依据和意义 益智游戏作为人类社会发展和创新的必然产物,已经被越来越多的人们所重视它寓教于 乐,以轻松愉快的方式让人们在娱乐中学习,在学习中娱乐,在欢乐中得到思维能力的训 练。我国目前正处在素质教育改革的风头浪尖,益智游戏因其特殊性便成为了非常行之有 效的辅助工具,其发展前景良好市场相当广阔 中华民族是一个有着几千年悠久历史和璀璨文化的国家,而棋类娱乐却早已突破了纯 游戏的范畴而
3、成为中国传统文化的一个分支。五子棋起源于中国古代的传统黑白棋种之一, 现代五子棋日文称之为“连珠” ,英译为 Renju,英文称之为“Gobang”或“FIR” (Five in a Row 的缩写) ,中文亦有“连五子” 、 “五子连” 、 “串珠” 、 “五目” 、 “五目碰” 、 “五格” 等多种称谓。五子棋的棋文化源渊流长,具有东方的神秘和西方的直观,是中西文化的交 流点,是古今哲理的结晶(发展于日本,流行于欧美。 ) 现在已经是网络时代,网络已经成为我们生活中必不可少的一部分,人们在工作之余总 会有很多零碎的时间,而这些零碎时间人们就可以通过玩一些小游戏来放松一下自己。五 子棋游戏则
4、正好满足人们的需求,所以发展的前景相当可观。 五子棋作为益智游戏的其中一种,我们则可以通过这款游戏,在娱乐中锻炼自己的思维, 从而达到学习的目的。本款五子棋则包含人机版五子棋和网络对战版。 随着计算机技术的发展,特别是因特网的推广应用,网络技术已深入到人们的工作和 生活的各个方面,众多的计算机通过网络连接在一起,网络组件应用程序必不可少,现有 的应用程序必须结合网络功能才能在市场上拥有竞争力,网络游戏作为其中的一朵奇葩, 迅速占领了市场。网络对弈五子棋,做为网络游戏的一种,深受人们的喜爱。 现在人们压力日益增大,需要劳逸结合才能获得更高的工作效率,工作之余的娱乐对每一 个人来说都是必不可少的。
5、近年来游戏软件也得到了迅猛的发展,各种各样的游戏层出不 穷,网络游戏不断的丰富着人们的生活,成为人们放松娱乐的一个重要的方式。五子棋这 种娱乐方式简单易学又具有深奥的技巧,非常富有趣味性和消遣性。容易上手,老少皆宜, 而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身 养性。在经过不断发展后,五子棋已经成为棋盘娱乐的一个重要的组成部分,它能够增强 思维能力、开发智力,让人们在休闲放松的同时锻炼脑力,是人们休闲娱乐的不错选择。 因此五子棋游戏相关软件受到人们的青睐。 二、设计的内容 本软件的主要研究目标包括两大方面,分别是:人机版五子棋和网络对战版五子棋。 1、人机版
6、 目标: 是实现人和电脑的对战下棋。最重要的就是,电脑有一定的思维能力,在人走完一步棋 以后,电脑能够思考,然后很准确的去走下一步棋。最后无论哪一方五子连珠以后,就判 断游戏结束,一方获胜。 内容: 人机版的棋盘、落子主要是通过 C#中的 GDI+绘制而出,然后可以设计一个堆栈,把 棋子数据都储存在里面,然后就可以实现悔棋、战局重演功能的实现。电脑不会思考,如 果想让电脑能够在人走完一步棋以后,电脑能够做出合理、准确的响应,这才是人机版的 主要研究内容。因为五子棋判断输赢的方法就是在左右方向、上下方向、左上右下方向、 右上左下方向,所以在这一部分的实现中,则是当人没走一步棋,电脑都会进行一次判
7、断, 如果人有赢的可能,则会把人堵死,从而解决自己的危机,而当人没有赢得可能的时候, 则会在这几个方向中判断,在哪个方向上落子才会有更大胜的把握,然后这个部分就做成。 而最后就是判断输赢这一段代码了,在这一部分中则可以设计一个函数,然后无论是 人还是电脑,在每走出一步棋以后,都会调用这个函数进行判断,如果五子连珠,则判断 出结果,然后结束本局比赛,反之,则没有反应。 主要内容具体如下: 1.1、棋盘类: 1.1.1、棋子数据 11.2、虚拟棋盘数据 11.3、棋盘数据 2.1、游戏模式类: 2.1.1 人机对弈 3.1、消息机制: 3.1.1 落子消息 31.2 悔棋消息 3.1.3 重新开始
8、 4.1、主要算法: 4.1.1 判断胜负 结构图如下: 软件运行 新游戏 载入游戏 选择 先行、后行游 戏难度 设置 游戏开始 游戏开始 下棋、悔棋、 交换棋子 下棋、悔棋、 交换棋子判断输、赢、和 棋 保存 保存退出游戏 操作 操作 操作 操作 判 断 判 断 操作 操作 操作 三、毕业设计(论文)所用的方法 “五子棋(网络版)游戏的实现”采用 Socket 通信机制,实现一个 C/S 模式的网络五子 棋对弈的 Windows 应用程序。主要完成通过网络进行通信,五子棋棋盘的绘制、游戏胜负 的判断及显示等功能。该五子棋游戏的用户有三类,黑方棋手,白方棋手,旁观者。游戏 开始黑方先开始,而后
9、白黑交替,直至一方取胜。若一方要求和棋,另一方答应,则和棋 成功重新开局,否则继续。 1、Socket 通信机制 网络游戏的传输层采用的是 Socket 接口来实现,这样避免了开发人员直接面对复杂的 网络协议,又具有一定的灵活性,可以在 Socket 底层上构建自己的传输协议。Socket 实际 上是网络通信端点的一种抽象,它提供了一种接收和发送数据的机制。网络通信,归根结 底是网络端点的通信。通过 Socket 用户开发的应用程序可以通过网络与其他 Socket 应用程 序通信,这与电话机之间的通信机制十分的相似。 C/S 结构( Client/Server 结构) C/S 结构是大家熟知的
10、客户机和服务器结构,它是软件系统体系结构,通过它可以充 分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统 的通讯开销。C/S 结构的优点是能充分发挥客户端的处理能力,很多工作可以在客户 端处理后再提交给服务器。对应的优点就是客户端响应速度快。 2、开发环境及工具 软件环境: 操作系统: Windows XP 编程语言:C# 开发环境:Visual Studio 2008 硬件环境: 四、研究的方法 1、研究方法 1.1 文献法:通过图书馆和网络搜集整理相关的文献资料,为设计作准备 1.2 设计法: 网络五子棋系统应用于局域网, 对交互性要求较高
11、 , 本系统基于 Microsoft 6.0 和 Windows Socket 技术,是通过客户端和服务器端的 Socket 对象进行连接和传输数据技术 来实现的局域网五子棋对弈,因此本系统通过 WSAEventSelect 模型来实现的, 网络内部使 用 TCP/IP 方式利用 Socket 通过传输层提供的服务, 使用 Visual C+进行网络对弈模式 的搭建 1.3 总结法:总结经验教训,选择一种最为合适的方法来组织软件的代码,完善系统 架构和设计模式,完成设计 2、研究手段 在研究本课题中,本人主要是以实际开发设计手段为主,采用查阅传统书籍,收集网 上资源,以及请教他人的方法,结合实
12、际操作,完成本课题的论文 五、参考文献目录 1、络编程技术及应用,谭献海编著,清华大学出版社 2、网络程序设计教程,吴礼发编著谢稀仁审定,北京希望电子出版社 3、21 天学通 C+,Jesse Liberty 著,康博创作室译,人民邮电出版社 4、C+标准程序库,Nicolai M.Josuttis 著,侯捷/孟岩 译,华中科技大学出版社 5、C+编程思想,Bruce Eckel 著,刘宗田/邢大红/孙慧杰 等译,机械工业出版社 6、Visual C+网络通信协议分析与应用实现,汪晓平/钟军 等编著,人民邮电出版社 7、Visual C#程序设计,王辉张大治编著,清华大学出版社 8、C/S 模
13、式下网络五子棋的设计与实现,肖正兴 (福建电脑 2006 年第 9 期) 9、五子棋算法的研究与思考,朱全民,陈松乔(计算技术与自动化 第 25 卷第 2 期) 10、一种基于 WinSocket 的聊天程序设计方法,杨国军(内肛科技 2007 年第 2 期 105) 11、用 WinSock 实现网络五子棋游戏,王 文(常州工学院学报 第 18 卷第 1 期) 12、智能五子棋中的博弈问题,杨庆文(浙江工商大学计算机与信息工程学院,浙江 杭州 310035) 13、基于 Winsocket 的点到点通信研究与实现,叶建标 俞永方(中国水运第 5 卷 第 6 期) 六、文献综述 随着计算机网络
14、的迅猛发展,互联网以前所未有的速度发展成为继报纸、广播、电视 之后的第四大媒体,并以其便捷的信息传输形式改变着人们以往的娱乐生活 网络游戏 使 用简单、快捷、低成本、易于推广,它的普遍应用已经成为网络娱乐的大势所向网络对弈 是其中的一个重要分支能够摆脱地域和时间的限制进行对弈活动吸引了大量的弈棋爱好者, 逐渐拥有了庞大的用户群网络对弈的发展使弈棋这一古老的活动更加便于推广,越来越多 的年轻人加入到这个大家族中来用户群的庞大也促进了网络对弈软件的发展网络对弈程序 越来越来美观,功能也越来越复杂 现有的网络编程模式主要分成两类: 一种是基于 C/S(Client/Server 客户机/服务器) 模
15、式, 另一种是 B/S(Browser/Server,浏览器/服务器)式 ;C/S 程序具有好的交互性, 功能 强大, 但是客户端必须安装客户端软件, 限制了其应用; B/S 模式下要求客户端具有浏览 器, 但浏览器在安全方面有一些限制,交互性与功能有一些限制网络五子棋系统应用于局域 网,对交互性要求较高, 所以一般的网络五子棋系统都选用了 C/S 模式进行实现, 网络内 部使用 TCP/IP 方式利用 Socket 通过传输层提供的服务 传统的 CS 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特 定的应用中无论是 Client 端还是 Server 端都还需要特定的软件支
16、持由于没能提供用户真 正期望的开放环境,C/S 结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用而且代价高, 效率低 在 Socket 工作中,使用 TClientSocket 来建立客户端连接,使用 TServerSocket 来建立 服务器端连接,这两个组件分别用来操纵客户端和服务器端的 Socket 对象进行连接和传输 数据在通信过程中,服务器端应用程序首先启动,它等待来自于客户端的连接请求此时,可在 另外一台计算机上启动客户端应用程序,并发送一个连接请求,同时输入服务器端 Socket 地 址和端口号进行服务器定位找到服务器后, 就向服务器端 Socket 发请求连接服务器端允许 连接后即向客户端 Socket 发 Accept (允许连接)信号,这时客户端和服务器端就正式建立 起了连接建立连接后, 就可以分别调用 Tserve rSocket 和 TC lientSocket 的 Socket 属性 和客户端进行通信和数据传输通信时,客户端和服务器端 Socket 组件必须设置相同的端口 号,如 6080 等,当然也可以设置其他空闲的端口号 和手段 指导老师签名: 日期: 课题类型:(1)A工程设计;B技术开发;C软件工程;D理论研究; (2)X真实课题;Y模拟课题;Z虚拟课题
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。