五子棋人机对战设计方案.docVIP

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

五子棋人机对战设计方案 五子棋游戏介绍 五子棋起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。 五子棋游戏方法简单,即在棋盘上走黑白棋子,可选择人机对战的一人游戏,也可选择人人对战的,两人游戏,先将五个棋子连成一串者获胜。 五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。 第一章 概述 1-1 系统要求简述 本系统主要为游戏者提供了娱乐,有益于为人们的日常生活带来快乐,为人们适当的减压,另外还可以提高游戏者的反应能力,和动手能力。 1-2应用语言概述 自从计算机问世以来,程序设计有了很大的进展。进入20世纪80年代,出现了一种新的程序设计方法——面向对象的程序设计(Object Oriented Progamming),简称OOP。面向对象的程序设计的特性,为程序设计人员提供了分析和解决问题的一种全新的方法。C++语言是70年代出现的一种非常卓越的程度设计语言,是由贝尔实验室的Dennis Ritchie 设计的一个通用的面向对象的程序设计语言。C++语言具有丰富的数据类型和结构化设计所需要的语句。C++语言的特点是效率高、功能强、简洁灵活。C++语言所具有的地址操作和位操作,是它在一定程度上具有了低级语言的特性,因而可以在相当大的程度上,代替设计难度较大的汇编语言。目前国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件程序功能设计思想 图2-1 游戏的实现 ? 先看上图,玩过五子棋的人一眼就能看出这才是一场真正的战斗!(至少它不允许你随便下棋。) 那么,我们该如何实现? 其实,只是在原来的基础上,把其中一个人用计算机代替而已。也就是说,我们只要在原来的基础上,加上计算机的下棋算法就好了。 而计算机下棋的算法,正是一个程序的重点和难点。这里先介绍一下: 计算机是没有头脑的,但是,计算机必须下棋。那么,它该怎么办呢?我们必须自己编程序,“教”计算机下棋。然而,我们是否只是让计算机随便在棋盘上面放一颗棋子呢?事情并不是这么简单。计算机要下的那个位置,必定是它认为最好的!当然,这里的最好是程序员给予计算机的,是计算机算法的体现。 最好的位置,人都难以保证! 但是,计算机可以。这正是计算机能够在我们这个社会迅速发展的一个重要原因。当然,计算机的可以是建立在人的程序的基础上的。计算机的会是依赖于它的速度,人所不能及的速度。 上面说过,为什么要把数组的值赋值为1和-1,而不是0,1或者其它的数字呢?这里就涉及到数字的妙用。前面说了,五个连续棋子的值相加,如果绝对值是五,则不是五个棋子同色,应该结束游戏。那么,如果绝对值不是五呢?它就没有意义了吗?不是!不但不是,而是它有着更重要的意义。它关系到我们这个程序的几乎全部的算法。下面细说(数字是表示绝对值的): ? 4: 表示五个棋子中有一个空位置和四个同色的棋子。 3: 表示五个棋子中有两个空位置和三个同色的棋子; 也表示五个棋子中有四个同色棋子和一个异色棋子。 注意:此时没有空位置,可以不考虑。 2: 表示五个棋子中有三个空位置和两个同色棋子; 也表示五个棋子中一个空位置和三个同色棋子和一个异色棋子; 1、0: 由于出现1和0的机会太少(除了开始的时候),我们不必多加考虑。但是,因为刚才对方下棋的对方必定有一定的危险,我们只需要在刚刚下棋的附近找一个空位置下棋就可以了。 第三章 五子棋人机对战程序设计 3-1主菜单设置 对菜单进行设置,游戏中分别添加开始,打开,退出和保存,其中开始中又包括人对人和人对机两项,并且对他们分别关联和做相应的消息映射。 图3-1 游戏菜单 从上面图中,我们可以看到,工具栏变了。因此我们也可以想到菜单也应该变了。它们的修改如下: ? 修改菜单: ? 删除菜单项 开始:ID_START 添加菜单项 人对人游戏:ID_PLAYER 人对机游戏:ID_CPMPUTER ? 修改工具栏: ? 删除原来的按扭 对应ID:ID_START 添加两个新按扭 对应ID:ID_PLAYER ID_CPMPUTER ? ?3-2关键模块介绍 3-2-1??? 变量和函数 ? 在

文档评论(0)

你好世界 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档