{$cfg_webname}
主页 > 计算机 > C++ >

基于VC的五子棋游戏软件的设计与开发

来源:wenku163.com  资料编号:WK1638236 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9AWK1638236
资料介绍

基于VC的五子棋游戏软件的设计与开发
摘  要
人工智能是近年来很活跃的研究领域之一,计算机博弈是人工智能研究的一个重要分支,它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。五子棋本身就是一款益智休闲游戏,规则简单。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
本系统就以五子棋游戏作为研究课题,对五子棋的算法与规则做了研究,阐述了如何在 Microsoft Visual C++ 下用 API 函数来开发Windows下的游戏并给出了具体的实现。本系统以五子棋为例实现的主要功能有棋盘、棋子的输出、人机对下等。本系统还有和棋、再来一盘、帮助等辅助功能。

关键字:五子棋;Microsoft Visual C++; API函数
 
The Design and Exploitation of Gobang Game with VC
Abstract
Artificial intelligence is one of the brisk research areas. The chess game on computer is an important branch of the research on artificial intelligence. The researches on chess game bring plenty of important methods and theories for researching on artificial intelligence, and cause broad influences on society and academe. Gobang chess game means five pieces on one line, is a sort of game, which is full of wisdom, leisure and benefits, and the rules of it are very simple.
This paper focuses on the study of this chess game, and uses the Microsoft Visual C++ to explore the Window’s game. This system mainly uses the function of Visual C++/API to realize the export of chessboard and checker, and people can play with computer. Moreover, this system has the assistant functions such as “Deuce”、“ Play Again”、“ Help” and so on.

Key words:  Gobang; Microsoft Visual C++; API Function
目  录
论文总页数:21页
1    引言    1
2    开发工具和应用平台    1
2.1    MICROSOFT VISUAL C++ 的介绍    1
2.2    WINDOWS 编程的特点    2
3    系统需求分析    4
3.1    系统需求    4
3.2    功能需求    4
3.3    系统运行环境    4
4    五子棋算法分析    5
4.1    五子棋的发展    5
4.2    五子棋的规则    6
4.3    具体算法分析    7
4.3.1 棋盘局势状态表示    7
4.3.2棋盘中下棋的顺序表示    7
4.3.3具体算法    7
5    系统流程    9
6    系统功能实现    10
6.1    窗口设计    10
6.2    棋盘设计    11
6.3    按钮功能的实现    12
6.4    胜负判断    13
7    系统测试与分析    14
7.1    运行结果    14
7.2    问题的发现与解决    17
结    论    17
参考文献    17
致    谢    19
声    明    20
附    录    21
 
1    引言
目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。让电脑像人脑一样思考,一直是人工智能发展的最终目标。作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。博弈为人工智能提供了一个极好的试验场所,人工智能中的许多概念和方法都是从博弈程序中提炼出来的,人工智能中大多以下棋为例来研究博弈规律。本文以五子棋为入口,设计了一个五子棋人机对弈系统,以实现人和计算机的博弈,最终的目的是为了建立一个有具体规则的五子棋平台。
人机对弈程序的要点,至少应具备以下4个部分:(1) 状态表示:某种在机器中表示棋局的方法,能够让程序知道博弈的状态。(2) 走法产生:产生合法走法的规则,以使博弈公正地进行,并可判断对手是否乱走。(3)搜索技术:从所有合法的走法中选择最佳的走法技术。(4) 对弈界面。
本系统主要研究使用 Microsoft Visual C++ 以 Windows 窗体程序对五子棋游戏进行开发与设计,让大家了解用 Microsoft Visual C++ 开发WINDOWS 小游戏的过程。
2    开发工具和应用平台
2.1    Microsoft Visual C++ 的介绍
C 语言是一种高效率的计算机程序设计语言,而 Visual C++ 则是在它的基础上开发出的一套功能强大的程序设计工具。对于游戏程序,Visual C++ 可以说是最佳的开发工具。第一, Visual C++ 具有优异的运行速度。第二, Visual C++ 可以直接访问内存。
Visual C++ 自诞生以来,一直是Windows环境下最主要的应用开发系统之一。Visual C++ 不仅是C++ 语言的集成开发环境,而且与 Win32 紧密相连,所以,利用Visual C++ 开发系统可以完成各种各样的应用程序的开发,从底层软件直到上层直接面向用户的软件。而且,Visual C++ 强大的调试功能也为大型复杂软件的开发提供了有效的排错手段。
Visual C++ 是一个很好的可视化编程工具,使用 Visual C++ 环境来开发基于 Windows 的应用程序大大缩短了开发时间,而且它的界面更友好,便于程序员操作。开发环境是程序员同 Visual C++ 的交互界面,通过它程序员可以访问 C++ 源代码编辑器、资源编辑器,使用内部调试器,还可以创建项目文件。
所谓 API 就是应用程序编程接口(Application Programming Interface), Windows API 是Windows 系统和Windows 应用程序间的标准程序接口。API 为应用程序提供系统的各种特殊函数及数据结构定义,Windows 应用程序可以利用上千个标准 API 函数调用系统功能。在 Visual C++中使用 Windows API 是相当容易的, 只要在项目中设定所要使用的函数库并引用正确的头文件,就可以使用 Windows API 中的函数与数据类型。
根据Windows API 函数完成的功能,可将其分为三类。
(1)窗口管理函数:实现窗口函数的创建、移动和修改功能。
(2)图形设备函数(GDI):实现与设备无关的图形操作功能。
(3)系统服务函数:实现与操作系统有关的多种功能。
用 Windows API 函数来编写应用程序的顺序结构为:调用 WinMain 函数开始执行→定义窗口类→初始化窗口类→窗口的实例化→通过消息循环获取消息并将消息发送给消息处理函数做出相应的操作。
2.2    Windows 编程的特点
所有的 Windows 程序都具有类似的结构和相同的“外观”,所以用户不用花很多的时间来学习新程序的用法。具有这种一致的用户界面是使用 Windows 内部子模序来创建的。所有的菜单、对话框、滚动条等都具有同样的键盘的鼠标接口,Windows 自己处理这项工作,而不是交给应用程序完成。Windows 编程有以下几个特点:
(1)事件驱动的程序设计
(2)消息循环与输入
(3)图形输出
(4)用户界面对象
(5)资源共享
编写一个典型的Windows应用程序,一般需要:
(1)C, CPP源程序文件
(2)H,HPP头文件
(3)资源文件
包含了应用程序所使用的全部资源定义,通常以 .RC 为后缀名。资源是应用程序所能够使用的一类预定义工具中的一个对象,包括:字符串资源、加速键表、对话框、菜单、位图、光标、工具条、图标、版本信息和用户自定义资源等。
Windows 消息机制:Windows 是一个消息驱动的操作系统。一个消息由一个消息名称(UINT 类型)和两个参数(WPARAM,LPARAM)构成。当用户进行了输入或者是窗口的状态发生改变时,系统会发送消息到某一个窗口。例如,当鼠标左键单击之后会有 WM_LBUTTONDOWN 消息发送。用户也可以定义自己的消息名称,也可以利用自定义消息来发送通知和传送数据。一个消息必须由一个窗口接收。在窗口的消息处理函数中可以对消息进行分析,对自己感兴趣的消息进行处理。如果希望在窗口中进行图形输出就必须对 WM_PAINT 进行处理。为了应付那些没有被响应的消息,Windows 为窗口编写了默认的窗口消息处理函数,窗口过程将负责处理那些程序中没有处理的消息。正因为有了这个默认窗口过程,程序员才可以利用 Windows 的窗口进行开发而不必过多关注窗口各种消息的处理。提到消息就必须说到窗口句柄,系统通过窗口句柄在整个操作系统中唯一标识一个窗口。发送消息时必须指定一个窗口句柄表明该消息由那个窗口接收。而每个窗口都会有自己的窗口消息处理函数,用户的输入会被正确的处理。在 Windows 操作系统中维护着一个或者多个消息队列,所有产生的消息都会被放入到队列中。系统在队列中每次取出一条消息,根据消息的接收句柄而将 该消息发送给拥有该窗口的消息循环。每一个运行的程序都有自己的消息循环,在循环中得到属于自己的消息并根据接收窗口的句柄调用相应的窗口过程。

推荐资料