基于vc++的五子棋程序设计与实现大学本科毕业论文.doc
《基于vc++的五子棋程序设计与实现大学本科毕业论文.doc》由会员分享,可在线阅读,更多相关《基于vc++的五子棋程序设计与实现大学本科毕业论文.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘 要C+语言是一种面向对象的语言,尽管在当前,可视化语言发展迅速,普及很快,但C+语言作为一种基础的语言,它的有时依然存在,甚至有时它是不可替代的,特别是和硬件接口技术相联系的软件。五子棋游戏是一种简单大众的游戏,自计算机实现以来,深受广大电脑玩家的喜爱,现在流行的五子棋游戏软件大多缺乏美观的界面,和容易的操作方法,电脑的AI值也不是很高。本文通过C+语言在计算机图形方面的编程,设计了五子棋游戏软件,使该软件具有还算美观和操作简单的界面,在人机对战时,分为低级,中级和专家级,加大对游戏的乐趣,当然也可以实行人人对战。本游戏是以C+语言作为开发工具,采用搜索算法设计最优落子点开发的游戏软件。本
2、文就是介绍五子棋软件设计的全过程。关键字 C+语言 面向对象 最优落子AbstractC + + language is an object-oriented language, although in the current, visual language developed rapidly, spread quickly, but the C + + language as a basic language, it is sometimes still exists, and sometimes it is irreplaceable, especially with hardware
3、interface technology associated software. Volkswagen backgammon game is a simple game, since the computer to realize, the majority of PC gamers love, now popular backgammon game software lacks most beautiful interface, and easy method of operation, AI value of the computer is not very high. In this
4、paper, C + + programming language in computer graphics, design a backgammon game software, so that the software has the appearance and operation is fairly simple interface, the man-machine war, divided into low, intermediate and expert level, increase the game fun, of course, can also be implemented
5、 for all war. This game is based on C + + language as a development tool, the search algorithm design optimal point developed game software. This article is to introduce the whole process of backgammon software design.Keyword C+ language Object-oriented the optimalinitial目录1绪论61.1五子棋的简介61.2 Visual C
6、+的介绍71.3 开发环境及运行环境71.3.1 开发环境71.3.2 运行环境72 系统分析82.1系统调研82.2可行性分析82.3技术可行性分析93软件架构103.1 棋盘类103.1.1主要成员变量103.2 主要成员函数说明103.2.1 清空棋盘103.2.2 绘制棋子103.2.3 左键消息113.2.4 绘制棋盘113.2.5 对方落子完毕113.2.6 胜负的判断113.3 游戏模式类113.3.1主要成员变量113.3.2主要成员函数123.4 资源编辑133.5消息说明153.5.1落子消息153.5.2声音消息153.5.3提示消息153.5.4悔棋消息153.5.5输
7、赢消息153.5.6再次开局消息164主要算法174.1判断胜负174.2人机对弈算法174.2.1获胜组合184.2.2落子后处理184.2.3查找棋盘空位184.2.4落子打分184.2.5防守策略184.2.6选取最佳落子195 软件实现195.1游戏运行196补充说明237结论24致谢241绪论1.1五子棋的简介五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。 五子棋不仅能增强思维能力,
8、提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。五子棋的娱乐性强、规则简单、易学、流行性广,普通人不需长时间专门训练即可自如行棋,因此极受大众喜欢。五子棋规则为: 第一:五子棋行棋时,黑棋先下第一子,由天元开始,后白棋在黑棋周围的交叉点的落子。接着黑方再以天元中心的25个交叉点的范围内落盘面的第三子,之后黑白双方相互顺序子
9、。第二:最先在棋盘线交点横向,纵向,斜向形成已方的五个棋子连续的一方为胜。第三:出现禁手对方指出后将判负,其中包括两个或两个以上的活三,活四,长连均称之为禁手。 第四:禁手只对黑棋有效,白棋无禁手。第五:黑方禁手形成时,白方需立即指出,黑方将被判负。若白方未发现黑方禁手存在而继续应子,其后指出黑方禁手不能判黑方负。第六:黑方连五与禁手同时形成,因黑方已连成五即黑方已获胜,故禁手规则失效。 第七:在对局中,在盘上落下的子又拿起来,此动作称为拔子,若拔子将被判为负。第八:在对局中棋子掉落在棋盘上将被判负。若推子或蹭子,以盘面第一落点为准。用手将棋子推正不算违犯规则。第九:在对局中,一方自行中止比赛
10、如:中途退场,将被判负。第十:在对局中对方宣布认输,本局获胜。第十一:超过比赛规定所用时间限制,将被判为负:正式比赛期间,迟到时间超过比赛容许时间将被判负。 第十二:如下至最终一子仍不分胜负则定为平局。第十三:中盘期间双方 同意和局提议,判定为平局。1.2 Visual C+的介绍Visual C+ 6.0,简称VC或者VC6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工 具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软
11、件开发的首选工具。虽然微软公司推出了 Visual C+.NET(Visual C+7.0),但它的应用有很大的局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0由Microsoft开发, 它不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发
12、工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Microsoft的主力软件产品。Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0以拥有“语法高
13、亮”,自动编译功能以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及创建预编译头文件(stdafx.h)、最小重建功能及累加连结(link)著称。这些特征明显缩短程序编辑、编译及连结的时间花费,在大型软件计划上尤其显著。1.3 开发环境及运行环境 1.3.1 开发环境Intel Pentium 4 2.0GHz,512M内存,80G硬盘;Microsoft Windows 2000 Professional;Microsoft Visual C+ 6.0;Microsoft Developer N
14、etwork for Visual Studio.NET 98; Visual Assist X 10.1.1301.0 1.3.2 运行环境 Intel Pentium 2及以上处理器,32M以上内存,4G以上硬盘;Microsoft Windows 9X/NT操作系统; 800*600或以上的屏幕分辨率2 系统分析2.1系统调研正式开发五子棋游戏之前进行调研是非常必要的,其必要性主要表现在以下几个方面。(1)明确用户的要求,以根据调查结果进行可行性分析,确认系统的开发是否可行。(2)提出新系统的人员并不都是系统研究人员,有些人对于其功能和处理数据的方法没有明确的认识。它们只是根据自己业务工
15、作的需要提出了要求,系统开发人员要对此进行详细的调查和分析,确认用户的要求可以通过现有的计算机技术实现,保证开发的管理信息系统的功能与用户提出的要求相吻合。总之,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。2.2可行性分析可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一
16、种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。可行性分析阶段的主要工作包括以下几个方面: (1)新系统目标可行性分析:分析新系统的目标是否符合企业的现状和发展的需要。 (2)社会可行性分析:社会可行性分析主要是指管理信息系统的开发是否符合国家法律政策,是否,能够与社会大系统实现良好的对接。 (3)技术可行性分析:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。 (4)经济可行性分析经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企
17、业带来一定的经济效益。 (5)管理可行性分析:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。2.3技术可行性分析 技术可行性分析主要包括四个方面:目前有关的技术能否支持所开发的新系统;新系统开发人员的数量和水平,即人力资源;硬件和软件资源。 (1)技术支持:首先根据新系统的目标,考虑目前有关的技术能否支持所开发的新系统。这里讨论的技术必须是已经普遍使用的,而不是待研究的或正在研究的。对于本系统,本人是采用C+编写的。而在开发五子棋的过程运用到了,图形的绘制(主要是对棋子的绘制,棋盘的绘制的)。还有C+种对声音的播放方式(主要是用于下棋的时候的落子声音,
18、悔棋时的声音,赢棋时的声音,输棋的声音)。文件的保存和载入(主要用于对棋盘信息的储存和打开)。 (2)硬件资源:开发管理信息系统所需的硬件资源包含以下两个方面:系统开发人员在管理信息系统的开发过程中所需要的计算机设备及其有关的外部设备;管理信息系统开发成功投入使用后,使用单位所应具备的计算机设备及其有关的外围设备。对硬件资源进行可行性分析时主要考虑计算机的主机内存、类型、功能、联网能力、安全保护措施以及输入/输出设备,外存储器和联网数据通信设备的配置、功能、效率等指标是否符合系统方案设计要求,同时还要考虑计算机的性能/价格比。本系统对计算机的要求不高,一般的硬件配置都能运行此系统。3软件架构3
19、.1 棋盘类整个架构的核心部分。封装了棋盘的各种可能用到的功能,如初始化、判断胜负等。用户操作主界面,主界面与棋盘类进行交互来完成对游戏的操作。3.1.1主要成员变量 (1)棋盘等待由于在玩家落子后需要等待对方落子,例如:黑子先下,白字就处于等待状态,这时白子是不能落子的。还有就是悔棋,直接发出悔棋信息就能悔棋了。 (2)棋盘数据这是一个15*15的二位数组,用来保存当前棋盘的落子数据。其中对于每个成员来说,0表示落黑子,1表示落白子,-1表示无子。 (3)游戏模式指针这个游戏类的对象指针是可行类的核心内容。它所指向的对象实体决定了可行在执行一件事情时候的不同行为,具体的内容请参见“游戏模式”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 vc 五子棋 程序设计 实现 大学本科 毕业论文
限制150内