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

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

ID:55558404

大小:121.00 KB

页数:23页

时间:2020-05-17

五子棋人机对战设计方案.doc_第1页
五子棋人机对战设计方案.doc_第2页
五子棋人机对战设计方案.doc_第3页
五子棋人机对战设计方案.doc_第4页
五子棋人机对战设计方案.doc_第5页
资源描述:

《五子棋人机对战设计方案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、五子棋人机对战设计方案五子棋游戏介绍五子棋起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(FiveinaRow的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。五子棋游戏方法简单,即在棋盘上走黑白棋子,可选择人机对战的一人游戏,也可选择人人对战的,两人游戏,先将五个棋子连成一串者获胜。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又

2、有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。第一章概述1-1系统要求简述本系统主要为游戏者提供了娱乐,有益于为人们的日常生活带来快乐,为人们适当的减压,另外还可以提高游戏者的反应能力,和动手能力。1-2应用语言概述自从计算机问世以来,程序设计有了很大的进展。进入20世纪80年代,出现了一种新的程序设计方法——面向对象的程序设

3、计(ObjectOrientedProgamming),简称OOP。面向对象的程序设计的特性,为程序设计人员提供了分析和解决问题的一种全新的方法。C++语言是70年代出现的一种非常卓越的程度设计语言,是由贝尔实验室的DennisRitchie设计的一个通用的面向对象的程序设计语言。C++语言具有丰富的数据类型和结构化设计所需要的语句。C++语言的特点是效率高、功能强、简洁灵活。C++语言所具有的地址操作和位操作,是它在一定程度上具有了低级语言的特性,因而可以在相当大的程度上,代替设计难度较大的汇编语言。目前国际

4、上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。1-3开发工具本项目所用的开发工具如表1-1所示表1-1开发工具表开发语言C++开发环境Windowsxppro+MicrosoftVisualStudio2006开发工具MicrosoftVisualStudio2006第二章功能与设计思想2-1人机对战程序功能五子棋是一个经典的小游戏,游戏者打开游戏后将会看到一棋盘,这时游戏者可选择人对战或者人机对战,本程序主要功能来实现人机对战,游戏者通过鼠标的移动来移动棋子,通过单击鼠标来确定棋子的最终

5、位置,先将棋子排成五子一线者为最终获胜者。游戏结束2-2人机对战设计思想图2-1游戏的实现 先看上图,玩过五子棋的人一眼就能看出这才是一场真正的战斗!(至少它不允许你随便下棋。)那么,我们该如何实现?其实,只是在原来的基础上,把其中一个人用计算机代替而已。也就是说,我们只要在原来的基础上,加上计算机的下棋算法就好了。而计算机下棋的算法,正是一个程序的重点和难点。这里先介绍一下:计算机是没有头脑的,但是,计算机必须下棋。那么,它该怎么办呢?我们必须自己编程序,“教”计算机下棋。然而,我们是否只是让计算机随便在棋盘

6、上面放一颗棋子呢?事情并不是这么简单。计算机要下的那个位置,必定是它认为最好的!当然,这里的最好是程序员给予计算机的,是计算机算法的体现。最好的位置,人都难以保证!但是,计算机可以。这正是计算机能够在我们这个社会迅速发展的一个重要原因。当然,计算机的可以是建立在人的程序的基础上的。计算机的会是依赖于它的速度,人所不能及的速度。上面说过,为什么要把数组的值赋值为1和-1,而不是0,1或者其它的数字呢?这里就涉及到数字的妙用。前面说了,五个连续棋子的值相加,如果绝对值是五,则不是五个棋子同色,应该结束游戏。那么,如

7、果绝对值不是五呢?它就没有意义了吗?不是!不但不是,而是它有着更重要的意义。它关系到我们这个程序的几乎全部的算法。下面细说(数字是表示绝对值的): 4:表示五个棋子中有一个空位置和四个同色的棋子。3:表示五个棋子中有两个空位置和三个同色的棋子;也表示五个棋子中有四个同色棋子和一个异色棋子。注意:此时没有空位置,可以不考虑。2:表示五个棋子中有三个空位置和两个同色棋子;也表示五个棋子中一个空位置和三个同色棋子和一个异色棋子;1、0:由于出现1和0的机会太少(除了开始的时候),我们不必多加考虑。但是,因为刚才对方下

8、棋的对方必定有一定的危险,我们只需要在刚刚下棋的附近找一个空位置下棋就可以了。第三章五子棋人机对战程序设计3-1主菜单设置对菜单进行设置,游戏中分别添加开始,打开,退出和保存,其中开始中又包括人对人和人对机两项,并且对他们分别关联和做相应的消息映射。图3-1游戏菜单从上面图中,我们可以看到,工具栏变了。因此我们也可以想到菜单也应该变了。它们的修改如下: 修改菜单: 删除菜单项开始:ID

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。