五子棋对弈系统设计.docx
- 文档编号:1333685
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:29
- 大小:223.48KB
五子棋对弈系统设计.docx
《五子棋对弈系统设计.docx》由会员分享,可在线阅读,更多相关《五子棋对弈系统设计.docx(29页珍藏版)》请在冰豆网上搜索。
五子棋对弈系统设计
(此文档为word格式,下载后您可任意编辑修改!
)
南京理工大学
毕业设计说明书(论文)
作者:
李国防
准考证号:
教学点:
南京信息职业技术学院
专业:
电子工程专业
题目:
五子棋对弈系统设计
指导者:
(姓名)(专业技术职务)
评阅者:
(姓名)(专业技术职务)
2012年05月
毕业设计说明书(论文)中文摘要
在这个电子产品日益更替的年代,人工智能随着其在电子领域的广泛应用,而渐渐脱颖而出,成为众多炙手可热的研究项目之一,而博弈也成为人工智能研究方向中较代表性的一类。
本文以五子棋为例,运用所学的C语言知识,探讨用于博弈中的推理技术、搜索方法和决策规划。
设计了本文基于TurboC工具的五子棋对弈系统程序,通过DOXBOX系统界面来实现人与人之间的对弈。
本文是依靠TC编程工具,运用库函数的画图方法,通过简单的语言程序,将双人五子棋对弈功能在DOXBOX系统环境下实现。
游戏界面下具有棋盘的显示,操作按键的个性说明,输赢棋后的文本说明信息以及个性光标的移动显示等功能。
设计程序简洁易懂,游戏可塑性较强。
本文设计在DOXBOX下实现了五子棋对弈系统,大大减少了现代五子棋竞技成分,增加其趣味性,图形界面清晰且便于操作。
关键词五子棋TurboC博弈算法
毕业设计说明书(论文)外文摘要
TitleGobangdesignbasedontheTurboC
Abstract
In thegrowing age of replacement of the electronicproducts,artificial
intelligence, withitswiderangeof applications intheelectronics
field, andgradually cometothefore, one ofthe many hot researchprojects,whilethe gamehas become more representative in thedirection of artificialintelligenceresearch.TakingtheGobang forexample,usingthelanguageknowledgeof the C,explore reasoningtechniques for the game,search methods anddecision-making planning.
Design tools basedon TurboC backgammon chess systemprogram,through
DOXBOX systeminterface of chess between people.
Thisisthe drawing methods relyon the TC programmingtools,theuseof libraryfunctions, simple languageprogram willdouble backgammonchess functions toachievethe in DOXBOX systemenvironment.The game interface board displaypersonalizeddescriptionof theoperationbutton, thetext after the winningorlosing chess information
and personalized cursormovement andother functions. The designprocess iseasiertounderstand hasstrong game plasticity.
Designedinthispaper in DOXBOX under backgammon chess system,greatly
reducingthe modern backgammon competitive components toincreaseits
interesting, thegraphicalinterface is clearand easytooperate.
KeywordsTurboCgameGobangalgorithm
目次
1引言…………………………………………………………………………………1
2五子棋概述…………………………………………………………………………2
2.1五子棋背景及规则………………………………………………………………2
2.2开发工具下图形界面函数的介绍………………………………………………2
3设计思想……………………………………………………………………………4
3.1总体模版的设计…………………………………………………………………4
3.2五子棋程序框架总图……………………………………………………………4
4模块介绍……………………………………………………………………………5
4.1初始化模块………………………………………………………………………5
4.2接收处理信息模块………………………………………………………………8
4.3走棋控制模块……………………………………………………………………9
5数据测试…………………………………………………………………………15
6对人工智能对弈模式的设想……………………………………………………17
6.1棋型的定义………………………………………………………………………17
6.2棋型价值的定义及计算…………………………………………………………19
结论…………………………………………………………………………………21
致谢…………………………………………………………………………………22
参考文献……………………………………………………………………………23
附录(源程序)………………………………………………………………………24
1引言
随着人工智能的发展,越来越多的软件游戏应运而生,伴随着其庞大功能的同时,给出了各种越来越多的规则限制,更多的局限于游戏的竞技能力,逐步忽略了其原始为大众所追捧的趣味性,简单性。
因此,富有各种规则的棋类游戏渐渐淡出,而让我们迷恋追捧的却是那些简简单单,无太多章法,却趣味十足的软件游戏,如:
“愤怒地小鸟”、“汤姆猫”等。
而本文则摆脱了棋类游戏的各种附带限制,将传统的五子棋游戏,通过DOXBOX系统给大家展示,将规则交给玩家,可塑性强。
与此同时,本文尽管基于TC工具来实现,但却别开生面,遗弃了复杂模糊的字符界面,完全体现了图形库函数的应用,呈现了简洁、大方的图形界面。
在论文的进展过程中,首先遇到的最大的难题就是对于图形库函数的认知不够全面,一些细致的东西,没抓到点的要求,从而导致程序一次次的编译失败。
在经过多次研究,比对和尝试后,最终才得以成功。
其次,因在win7下无法实现win-tc的全屏显示,多次失败后选择更换XP系统来完成,最后论文的书写过程中,因为全屏后无法剪切图片,而导致无法顺利完成论文,后经查询,确定用DOXBOX来实现,才得以成功完成。
本设计将程序分为3个主要模块,针对每一模块为实现其预期功能,而分开去构思研究,确定其在整个程序中的位置,最后完善。
另外,在实现本文设计内容之余,还展示了个人对人工智能实现人机对战的构想。
2五子棋的概述
五子棋是一种两人对弈的纯决策谋略型棋类游戏,是起源于中国古代的传统黑白棋种类之一。
发展于日本,流行于欧美。
容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富有哲理,有助于修身养性。
2.1五子棋的背景及规则
五子棋是起源于中国古代的传统黑白棋种之一。
现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(FiveinaRow的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。
它是中西文化的交流点,是古今哲理的结晶。
五子棋的规则如下:
棋盘:
采用同围棋盘一样的15路或19路线的棋盘,为了实现传统的五子棋棋盘,本系统将采用19路线的棋盘。
下法:
两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子。
无子的交叉点又被称为空点。
输赢判断:
黑、白双方有一方的5个棋子在横、竖或斜方向上连接成一线即为该方赢。
2.2开发工具下图形界面函数的介绍
应用TurboC工具中的库函数graphics.h图形界面的画法,可以实现各种基本图形的绘制,比如说:
圆、椭圆、方框、线、点、文本框等,本文主要介绍设计中会用到的一些图形界面函数的应用方法。
2.2.1画线函数
这类函数提供了从一个点到另一个点用设定的颜色画一条直线的功能,起始点的设定方法不同,因而有下面不同的画线函数。
1)两点之间画线函数。
2)voidfarline(intx0,inty0,intx1,inty1);
从(x0,y0)点到(x1,y1)点画一直线。
3)从现行画笔位置到某点画线函数。
voidfarlineto(intx,inty);
将从现行画笔位置到(x,y)点画一直线。
4)从现行画笔位置到一增量位置画线函数
voidfarlinerel(intdx,intdy);
2.2.2画(椭)圆函数
在画图的函数中,有关于角的概念。
在TurboC中是这样规定的:
屏的x轴方向为0度,当半径从此处逆时针方向旋转时,则依次是90度、180度、270度,当360度时,则和x轴正向重合,即旋转了一周。
1)画椭圆函数
2)voidellipse(intx,inty,intstangle,intendangel,intxradius,intyradius);
该函数将以(x,y)为中心,以xradius和yradius为x轴和y轴半径,从起始角stangle开始到endangle角结束,画一椭圆线。
当stangle=0,endangle=360时,则画出的是一个完整的椭圆,否则画出的将是椭圆弧。
当然,满足一定条件的椭圆也就是圆,应用椭圆的画法可以实现棋子的画法。
3)画圆函数
4)voidfarcircle(intx,inty,intradius);
5)该函数将以(x,y)为圆心,radius为半径画个圆。
2.2.3颜色设置函数
象素的显示颜色,或者说画线、填充面的颜色既可采用缺省值,也可用一些函数来设置。
与文本方式一样,图形方式下,象素也有前景色和背景色。
按照CGA、EGA、VGA图形适配器的硬件结构,颜色可以通过对其内部相应的寄存器进行编程来改变。
1)前景色设置函数
2)voidfarsetcolor(intcolor);
3)该函数将使得前景以所选colo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 五子棋 对弈 系统 设计