五子棋博弈游戏的研究与实现(附件)【字数:8897】
摘 要目前,计算机已经深入人们的生活,游戏产业也成了人们生活的一部分,在一定程度上计算机游戏开发已经成为IT技术创新最有力的背后推手,游戏开发者和玩家常常是前沿计算机技术的最早应用者。五子棋游戏深受大众的喜爱,不但规则简单,而且还有各种的变化。它不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。最近几年研究人工智能的人越来越多,其中博弈技术在游戏中的应用不仅极大地提高了游戏的可玩性,而且对它的研究不论在方法上还是理论上都有新的提高,在社会和学术上都有着很大的影响。本次设计利用五子棋游戏作为研究对象,设计出一个能够实现“人机对战”的五子棋游戏,并对其中所涉及到的相关技术进行初步的探讨,重点为“人机对战”中的策略型AI的研究。
目 录
第一章 绪 论 1
1.1电脑游戏的发展趋势 1
1.2五子棋简介 1
1.3开发目标及主要内容 1
1.4论文的结构 1
第二章 相关技术介绍 3
2.1Visual C++简介 3
2.2Visual studio概述 3
2.3人工智能概念 3
第三章 系统分析 5
3.1可行性分析 5
3.2用户需求分析 6
3.3人机对战功能分析 6
第四章 系统总体设计 7
4.1系统用例图分析 7
4.2用例流程分析 7
4.3概要设计 8
4.3.1设计指导思想 8
4.3.2数据设计 9
4.4界面设计 9
4.4.1开始界面 9
4.4.2程序主窗口 9
4.5 人机对战模块设计 9
4.6算法设计 10
4.6.1“二人零和、全信息、非偶然”博弈 10
4.6.2策略型人工智能 10
第五章 软件详细功能实现 11
5. 1界面的实现 11
5.1.1 登录界面的实现 11
5.1.2 登录界面的实现 12
5.2人机对战模块的实现 13
5.3计算机着 *好棒文|www.hbsrm.com +Q: ^351916072#
棋函数 13
5.4、五子棋程序中的计算机决策方式 14
第六章 系统测试 16
6.1测试标准 16
6.2测试过程 16
6.3测试用例 16
6.4测试结果 17
结束语 18
致 谢 19
参考文献 20
第一章 绪 论
1.1电脑游戏的发展趋势
电脑游戏主要有技术和内容两方面的发展。在内容上,发展的方向是越来越多样化。一些休闲类的游戏、角色扮演型的游戏,以更多的形式出现,但是,游戏中一种真实的情景更是发展的一种趋势。游戏中,会有很多的虚拟内容,使游戏者中也有了更多的交互。对于网络游戏来说,客户端更加漂亮和逼真,服务端也更加稳定和高效。最近几年,新兴的行业发展快速,像IPTV以及移动通信。它们的发展,在电视上面提供了更多的增值服务。
1.2五子棋简介
五子棋最早是在中国起源。现代五子棋有的时候也有人叫“连珠”,甚至为“Renju”,英文可以翻译为“Gobang”,也有的叫“连五子”、“串珠”、“五目”、“五目碰”、“五格”等很多不同的叫法。
五子棋可以使游戏者思维能力得到提高,锻炼自己的耐性,发展游戏者的智力。它不但有现在休闲游戏的特征,又和古典的游戏相结合;很容易就能学会,深受广大游戏者的喜欢,它上面有着很好的技巧和比赛的特性。
1.3开发目标及主要内容
计算机硬件的发展,特别是运算器速度的发展一直都在以快速发展,这就使得计算机在相当短的时间内实现大规模复杂运算成为可能。再加上当今互联网的高速发展,各式各样内容形式都十分丰富的电脑游戏出现在了电脑荧屏上,这其中当然也包括棋类游戏。电脑棋类游戏可以使那些喜欢下棋的游戏者,但又经常找不到人或者有人,但和自己的水平不相符的那些棋迷随时都可以通过电脑进行下棋。另外,对计算机博弈理论和应用的研究,也使得设计一款兼具人工智能模式的棋类游戏软件成为可能,它们都有很高的智能水平,深受棋迷喜爱。
当前五子棋游戏虽然很多,但功能上或多或少有点缺陷,一个很大程度就是人机对战上面存在的问题,所以在这次毕业设计中我决定开发一个可以人机对战的五子棋系统。
1.4论文的结构
第一章为了解该课题的相关发情情况介绍了该课题的研究背景、研究现状和存在问题,同时,对论文的研究内容和目标进行了相应介绍,最后给出了论文各章节的主要工作。
第二章是对论文中涉及的主要相关技术进行了介绍,包括VC++ 和 人工智能概念。
第三章 在五子棋系统分析方面做了介绍。
第四章 为系统的总体设计。
第五章是五子棋系统详细功能的实现。
第六章主要介绍了系统的测试方面的工作。
第二章 相关技术介绍
本程序是在VS2010环境下,采用基于MFC的对话框框架,设计开发的一款具有“人机对战”的五子棋游戏。这其中涉及人工智能、面向对象编程、VC++开发窗口化程序等多方面的技术,下面就对其中关键技术做简要介绍。
2.1Visual C++简介
C语言是基础而有高效的编程语言,Visual C++是微软公司在开发出的设计工具,它以C++语言为基础,其具备了很多优点。
(1) 优异的运行速度
Visual Basic的程序员们都知道,采用Visual Basic提供的许多现成的对象和函数可以轻松地开发程序。但是,这是以牺牲计算机资源和程序的运行效率而换取的结果。相反地,Visual C++没有为程序员提供这样通用的对象和函数,因此Visual C++开发出来的程序在执行时并不会占用很多的计算机资源,其运行速度自然是非常快的。
(2)直接访问内存
任何程序在执行时都必须读取内存,只不过是访存方式不同而已。一般地,可以分为直接访问内存方式和间接管理内存方式。像C/C++这样的语言,能用指针来进行读取,同时还有很多的处理函数,可以更快速的对内存进行访问。
目 录
第一章 绪 论 1
1.1电脑游戏的发展趋势 1
1.2五子棋简介 1
1.3开发目标及主要内容 1
1.4论文的结构 1
第二章 相关技术介绍 3
2.1Visual C++简介 3
2.2Visual studio概述 3
2.3人工智能概念 3
第三章 系统分析 5
3.1可行性分析 5
3.2用户需求分析 6
3.3人机对战功能分析 6
第四章 系统总体设计 7
4.1系统用例图分析 7
4.2用例流程分析 7
4.3概要设计 8
4.3.1设计指导思想 8
4.3.2数据设计 9
4.4界面设计 9
4.4.1开始界面 9
4.4.2程序主窗口 9
4.5 人机对战模块设计 9
4.6算法设计 10
4.6.1“二人零和、全信息、非偶然”博弈 10
4.6.2策略型人工智能 10
第五章 软件详细功能实现 11
5. 1界面的实现 11
5.1.1 登录界面的实现 11
5.1.2 登录界面的实现 12
5.2人机对战模块的实现 13
5.3计算机着 *好棒文|www.hbsrm.com +Q: ^351916072#
棋函数 13
5.4、五子棋程序中的计算机决策方式 14
第六章 系统测试 16
6.1测试标准 16
6.2测试过程 16
6.3测试用例 16
6.4测试结果 17
结束语 18
致 谢 19
参考文献 20
第一章 绪 论
1.1电脑游戏的发展趋势
电脑游戏主要有技术和内容两方面的发展。在内容上,发展的方向是越来越多样化。一些休闲类的游戏、角色扮演型的游戏,以更多的形式出现,但是,游戏中一种真实的情景更是发展的一种趋势。游戏中,会有很多的虚拟内容,使游戏者中也有了更多的交互。对于网络游戏来说,客户端更加漂亮和逼真,服务端也更加稳定和高效。最近几年,新兴的行业发展快速,像IPTV以及移动通信。它们的发展,在电视上面提供了更多的增值服务。
1.2五子棋简介
五子棋最早是在中国起源。现代五子棋有的时候也有人叫“连珠”,甚至为“Renju”,英文可以翻译为“Gobang”,也有的叫“连五子”、“串珠”、“五目”、“五目碰”、“五格”等很多不同的叫法。
五子棋可以使游戏者思维能力得到提高,锻炼自己的耐性,发展游戏者的智力。它不但有现在休闲游戏的特征,又和古典的游戏相结合;很容易就能学会,深受广大游戏者的喜欢,它上面有着很好的技巧和比赛的特性。
1.3开发目标及主要内容
计算机硬件的发展,特别是运算器速度的发展一直都在以快速发展,这就使得计算机在相当短的时间内实现大规模复杂运算成为可能。再加上当今互联网的高速发展,各式各样内容形式都十分丰富的电脑游戏出现在了电脑荧屏上,这其中当然也包括棋类游戏。电脑棋类游戏可以使那些喜欢下棋的游戏者,但又经常找不到人或者有人,但和自己的水平不相符的那些棋迷随时都可以通过电脑进行下棋。另外,对计算机博弈理论和应用的研究,也使得设计一款兼具人工智能模式的棋类游戏软件成为可能,它们都有很高的智能水平,深受棋迷喜爱。
当前五子棋游戏虽然很多,但功能上或多或少有点缺陷,一个很大程度就是人机对战上面存在的问题,所以在这次毕业设计中我决定开发一个可以人机对战的五子棋系统。
1.4论文的结构
第一章为了解该课题的相关发情情况介绍了该课题的研究背景、研究现状和存在问题,同时,对论文的研究内容和目标进行了相应介绍,最后给出了论文各章节的主要工作。
第二章是对论文中涉及的主要相关技术进行了介绍,包括VC++ 和 人工智能概念。
第三章 在五子棋系统分析方面做了介绍。
第四章 为系统的总体设计。
第五章是五子棋系统详细功能的实现。
第六章主要介绍了系统的测试方面的工作。
第二章 相关技术介绍
本程序是在VS2010环境下,采用基于MFC的对话框框架,设计开发的一款具有“人机对战”的五子棋游戏。这其中涉及人工智能、面向对象编程、VC++开发窗口化程序等多方面的技术,下面就对其中关键技术做简要介绍。
2.1Visual C++简介
C语言是基础而有高效的编程语言,Visual C++是微软公司在开发出的设计工具,它以C++语言为基础,其具备了很多优点。
(1) 优异的运行速度
Visual Basic的程序员们都知道,采用Visual Basic提供的许多现成的对象和函数可以轻松地开发程序。但是,这是以牺牲计算机资源和程序的运行效率而换取的结果。相反地,Visual C++没有为程序员提供这样通用的对象和函数,因此Visual C++开发出来的程序在执行时并不会占用很多的计算机资源,其运行速度自然是非常快的。
(2)直接访问内存
任何程序在执行时都必须读取内存,只不过是访存方式不同而已。一般地,可以分为直接访问内存方式和间接管理内存方式。像C/C++这样的语言,能用指针来进行读取,同时还有很多的处理函数,可以更快速的对内存进行访问。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/80.html