《五子棋对弈系统设计》-公开DOC·毕业论文

上传人:zhuma****mei2 文档编号:137045393 上传时间:2020-07-04 格式:DOC 页数:34 大小:466KB
返回 下载 相关 举报
《五子棋对弈系统设计》-公开DOC·毕业论文_第1页
第1页 / 共34页
《五子棋对弈系统设计》-公开DOC·毕业论文_第2页
第2页 / 共34页
《五子棋对弈系统设计》-公开DOC·毕业论文_第3页
第3页 / 共34页
《五子棋对弈系统设计》-公开DOC·毕业论文_第4页
第4页 / 共34页
《五子棋对弈系统设计》-公开DOC·毕业论文_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《《五子棋对弈系统设计》-公开DOC·毕业论文》由会员分享,可在线阅读,更多相关《《五子棋对弈系统设计》-公开DOC·毕业论文(34页珍藏版)》请在金锄头文库上搜索。

1、 本科毕业设计说明书(论文) 第 IV页 共XXXIII页 南 京 理 工 大 学毕业设计说明书(论文)教学点:南京信息职业技术学院专 业:电子工程专业题 目:五子棋对弈系统设计副教授指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务) 2012年 05 月毕业设计说明书(论文)中文摘要在这个电子产品日益更替的年代,人工智能随着其在电子领域的广泛应用,而渐渐脱颖而出,成为众多炙手可热的研究项目之一,而博弈也成为人工智能研究方向中较代表性的一类。本文以五子棋为例,运用所学的C语言知识,探讨用于博弈中的推理技术、搜索方法和决策规划。设计了本文基于Turbo C工具的五子棋对

2、弈系统程序,通过DOXBOX系统界面来实现人与人之间的对弈。本文是依靠TC编程工具,运用库函数的画图方法,通过简单的语言程序,将双人五子棋对弈功能在DOXBOX系统环境下实现。游戏界面下具有棋盘的显示,操作按键的个性说明,输赢棋后的文本说明信息以及个性光标的移动显示等功能。设计程序简洁易懂,游戏可塑性较强。 本文设计在DOXBOX下实现了五子棋对弈系统,大大减少了现代五子棋竞技成分,增加其趣味性,图形界面清晰且便于操作。关键词 五子棋 Turbo C 博弈 算法毕业设计说明书(论文)外文摘要Title Gobang design based on the Turbo C AbstractInt

3、he growingageofreplacementoftheelectronic products, artificialintelligence,with its wide range ofapplicationsin the electronics field,and graduallycome to the fore,oneof themanyhotresearch projects, while thegame hasbecomemorerepresentativeinthe directionofartificial intelligence research. Taking th

4、e Gobangfor example, using the language knowledge oftheC, explorereasoning techniquesforthegame, searchmethodsand decision-makingplanning.Designtoolsbased onTurbo Cbackgammonchesssystem program, throughDOXBOXsystem interfaceofchessbetweenpeople.This is thedrawingmethodsrely ontheTCprogramming tools,

5、 the use oflibrary functions,simplelanguage programwill doublebackgammon chessfunctionsto achieve theinDOXBOXsystem environment. Thegameinterfaceboarddisplay personalized description ofthe operation button,the textafterthewinning or losingchessinformationandpersonalizedcursor movementand otherfuncti

6、ons.Thedesign processis easier to understandhas stronggameplasticity.Designed in this paperinDOXBOXunderbackgammonchesssystem, greatlyreducing themodernbackgammoncompetitivecomponentsto increase itsinteresting,the graphical interfaceisclear and easy to operate.Keywords Turbo C game Gobang algorithm目

7、 次1引言12五子棋概述22.1五子棋背景及规则22.2开发工具下图形界面函数的介绍23设计思想43.1总体模版的设计43.2五子棋程序框架总图44模块介绍54.1初始化模块54.2接收处理信息模块84.3走棋控制模块95数据测试156 对人工智能对弈模式的设想176.1棋型的定义176.2棋型价值的定义及计算19结论21致谢22参考文献23附录(源程序)241 引言随着人工智能的发展,越来越多的软件游戏应运而生,伴随着其庞大功能的同时,给出了各种越来越多的规则限制,更多的局限于游戏的竞技能力,逐步忽略了其原始为大众所追捧的趣味性,简单性。因此,富有各种规则的棋类游戏渐渐淡出,而让我们迷恋追捧

8、的却是那些简简单单,无太多章法,却趣味十足的软件游戏,如:“愤怒地小鸟”、“汤姆猫”等。而本文则摆脱了棋类游戏的各种附带限制,将传统的五子棋游戏,通过DOXBOX系统给大家展示,将规则交给玩家,可塑性强。与此同时,本文尽管基于TC工具来实现,但却别开生面,遗弃了复杂模糊的字符界面,完全体现了图形库函数的应用,呈现了简洁、大方的图形界面。在论文的进展过程中,首先遇到的最大的难题就是对于图形库函数的认知不够全面,一些细致的东西,没抓到点的要求,从而导致程序一次次的编译失败。在经过多次研究,比对和尝试后,最终才得以成功。其次,因在win7下无法实现win-tc的全屏显示,多次失败后选择更换XP系统来

9、完成,最后论文的书写过程中,因为全屏后无法剪切图片,而导致无法顺利完成论文,后经查询,确定用DOXBOX来实现,才得以成功完成。 本设计将程序分为3个主要模块,针对每一模块为实现其预期功能,而分开去构思研究,确定其在整个程序中的位置,最后完善。另外,在实现本文设计内容之余,还展示了个人对人工智能实现人机对战的构想。2 五子棋的概述五子棋是一种两人对弈的纯决策谋略型棋类游戏,是起源于中国古代的传统黑白棋种类之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富有哲理,有助于修身养性。2.1五子棋的背景及规则五子棋是起源于中国古代的传统黑白棋

10、种之一。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。 五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。五子棋的规则如下:棋盘:采用同围

11、棋盘一样的15 路或19 路线的棋盘,为了实现传统的五子棋棋盘,本系统将采用19路线的棋盘。下法:两人分别执黑白两色棋子,轮流在棋盘上选择一个无子的交叉点落子。无子的交叉点又被称为空点。输赢判断:黑、白双方有一方的5个棋子在横、竖或斜方向上连接成一线即为该方赢。2.2开发工具下图形界面函数的介绍应用Turbo C工具中的库函数graphics.h图形界面的画法,可以实现各种基本图形的绘制,比如说:圆、椭圆、方框、线、点、文本框等,本文主要介绍设计中会用到的一些图形界面函数的应用方法。2.2.1画线函数 这类函数提供了从一个点到另一个点用设定的颜色画一条直线的功能,起始点的设定方法不同,因而有下

12、面不同的画线函数。1) 两点之间画线函数。void far line(int x0,int y0,int x1,int y1);从(x0,y0)点到(x1,y1)点画一直线。2) 从现行画笔位置到某点画线函数。void far lineto(int x,int y);将从现行画笔位置到(x,y)点画一直线。3) 从现行画笔位置到一增量位置画线函数void far linerel(int dx,int dy);2.2.2画(椭)圆函数 在画图的函数中,有关于角的概念。在Turbo C 中是这样规定的:屏的x 轴方向为0 度,当半径从此处逆时针方向旋转时,则依次是90 度、180 度、270 度,

13、当360 度时,则和x轴正向重合,即旋转了一周。1) 画椭圆函数void ellipse(int x,int y,int stangle,int endangel,int xradius,int yradius);该函数将以(x,y)为中心,以xradius 和yradius 为x 轴和y 轴半径,从起始角stangle开始到endangle 角结束,画一椭圆线。当stangle=0,endangle=360 时,则画出的是一个完整的椭圆,否则画出的将是椭圆弧。当然,满足一定条件的椭圆也就是圆,应用椭圆的画法可以实现棋子的画法。2) 画圆函数void far circle(int x,int y,int radius);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号