Java五子棋的设计与实现毕业设计论文.docx
《Java五子棋的设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《Java五子棋的设计与实现毕业设计论文.docx(60页珍藏版)》请在冰豆网上搜索。
Java五子棋的设计与实现毕业设计论文
东北石油大学毕业设计论文
题目:
Java五子棋
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
摘要
人工智能是一门正在迅速发展的新兴的,综合性很强的交叉科学。
它与生物工程、空间技术一起被并列为二十一世界三大尖端技术。
它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。
目前各发达国家都把人工智能作为重点项目,列入本国的高科技发展计划当中,投入巨大的人力和物力。
计算机人机对弈也是其中之一。
作为人智能研究的一个重要分支,计算机博弈是检验人工水平的一个重要方面。
它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。
五子棋人机对弈是计算机博弈中的一种。
研究其计算机算法,可以让我们看到人工智能的稚形,也有助于我们人脑的开发。
五子棋是我国发明的,研究它可以让更多的外国人了解五子棋,这有助于我国优秀文化的推广。
关键词:
人工智能,计算人机对弈,五子棋,算法
Abstract
Artificialintelligenceisarapidlydevelopingnew,integratedastrongFrontierScience.Itiswithbio-engineering,spacetechnologyhasbeenlistedas21intheworldalongwiththethreecutting-edgetechnology.Itscentraltaskistostudyhowtomakethecomputerdothatinthepasttorelyonhumanintelligencetodo.AIiscurrentlyregardedasthefocusofthedevelopedcountriesincludedinthiscar'shigh-techdevelopmentprojectsinvestedtremendoushumanandmaterialresources.
Man-machinechesscomputerisoneofthem.Asahumanstudyofanimportantbranchofintelligence,thecomputergametotestthelevelofanimportantaspectofthemanual.Itsresearchinartificialintelligencehasresultedinmanyimportantmethodsandtheoriestoproduceawiderangeofsocialimpactandacademicimpact.
Man-machinechessgameRenjuinoneofthecomputer.Tostudythecomputeralgorithm,wecanseethebeginningofartificialintelligenceshadow,butalsohelpustohumanbraindevelopment.BackgammoninventedinChina,andtheresearchitcanallowmoreforeignerstounderstandandhelptopromoteChina'straditionalculture.
Keywords:
ArtificialIntelligence,Man-machineCchessComputer,
Man-machineChess,Algorithm
目录..........................................................................................................................Ⅲ
第1章绪论...............................................................................................................1
第2章需求分析.......................................................................................................2
2.1业务需求................................................................................................2
2.2性能需求................................................................................................2
2.3系统平台需求........................................................................................2
第3章五子棋相关基础...........................................................................................4
3.1五子棋解释............................................................................................4
3.2五子棋的基本规则................................................................................4
3.3五子棋的常用术语................................................................................5
第4章开发工具、环境及其技术...........................................................................7
4.1Java简介.................................................................................................7
4.2Java编程环境.........................................................................................9
第5章程序设计思路与实现.................................................................................10
5.1程序设计思路......................................................................................10
5.2程序设计..............................................................................................13
结论...........................................................................................................................33
参考文献....................................................................................................................
致谢............................................................................................................................
附录............................................................................................................................
第一章:
绪论
1.1前言
电脑已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。
Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。
然而,虽然现在世界上已经充满了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。
Java语言作为一种面向对象的编程语言,具有分布式,可移植,高性能,多线程等特点。
通过系统的学习,人们就可以使用它开发出功能齐全,满足特殊需求的应用程序。
Java语言易学易用,对学习者掌握技能,开拓思维都有很大的帮助。
我作为一名学生,在系统的学习了Java语言之后,经常用它搞一些小程序。
这次毕业设计,正好将学过的Java语言中的各种技术综合起来,用Jbuilder2006开发工具编写一个小游戏,既对自己学过的技能进行一次检验,也能系统地将学过的知识复习巩固。
随着计算机技术的不断发展,网络技术的普及范围越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活中不可缺少的重要组成部分。
如今网络休闲游戏发展迅速,它凭借健康、方便、互动性强、益智等诸多优点,成为大部分现代人休闲娱乐的首选。
网络五子棋游戏是使用Java语言开发的一款游戏。
它使用SOCKET建立连接,多线程处理数据,以及可嵌入网络浏览器的ALET作为客户端,这些特点使这款游戏无论是服务器还是客户端的实现都相对容易。
通过对该软件的编写,还可以巩固我们对以上各种知识的掌握和理解。
第二章需求分析
为了开发出真正满足用户需求量的软件产品,首先必须知道用户的需求。
软件需求中包括了多个方面来说明用户需求。
在这一章中,主要从以下几方面来说明系统的需求。
2.1业务需求
2.1.1此系统使用范围要求
此系统为智力游戏,适合于各类游戏爱好者。
由于其经典性及其游戏的简单性,各类人士都可以也都爱玩。
人们在与电脑对战享受娱乐的同时,也会体会到自己的智力也会有所提升。
2.1.2功能要求
该款游戏主要由一下几个模块组成:
(1)人机对弈模式:
选择该模式可以实现人与电脑之间的对弈,电脑会智能的选择该在哪处下子,并会在每次下棋结束后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。
(2)人人对弈模式:
选择该模式可以实现人与人之间的对弈,系统会提示哪方先下,然后玩家之间交替的下棋,同样系统会在下完每次棋后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。
(3)悔棋功能:
这个功能也是根据游戏的实际需求而存在的,在现实生活中难免有失误下错了棋,那么就需要悔棋。
此功能提供了悔棋功能,使得下棋的灵活性有所提高。
玩家若想悔棋,则只需选择悔棋按钮便可以重新下过刚才的棋。
(4)更换棋盘背景:
次功能可以根据玩家的爱好任意更换棋盘的背景颜色,由于每个人对颜色的喜好不一样,因此这个功能也是非常必需的。
也行更换一种玩家所喜欢的颜色,玩家能发挥得更好。
2.2性能需求
该款五子棋游戏功能虽然简单,但最主要的还是实现了人人对弈模式和人机对弈两种模式,所以从这个角度来说,该款游戏需要能很好的在两种模式间良好的转换。
虽然系统不大,但要在满足玩家的基本要求的情况下,电脑有一定的智能,能给于新手一定的帮助。
2.3系统平台需求
编程语言:
JAVA
操作系统:
Windowsxp系列
开发工具:
Myeclipse
第三章五子棋的相关基础
3.1五子棋解释
引用《辞海》中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜。
”。
五子棋的名称:
日文亦有“连五子、五子连、串珠、五目、五目碰、五格、五石、五法、五联、京棋”等多种称谓,英文则称之为FIR(FiveInARow的缩写)、Gomoku(日语“五目”的罗马拼音)、Gobang、connect5、mo-rphion。
捷克语piskvorky,韩语omok、韩国人还称之为情侣棋。
3.2五子棋基本规则
1.五子棋行棋时,黑棋先下第一子,由天元开始,后白棋在黑棋周围的交叉点的落子。
接着黑方再以天元中心的25个交叉点的范围内落盘面的第三子,之后黑白双方相互顺序子。
2.最先在棋盘线交点横向,纵向,斜向形成已方的五个棋子连续的一方为胜。
3.出现禁手对方指出后将判负,其中包括两个或两个以上的活三,活四,长连均称之为禁手。
4.禁手只对黑棋有效,白棋无禁手。
5.黑方禁手形成时,白方需立即指出,黑方将被判负。
若白方未发现黑方禁手存在而继续应子,其后指出黑方禁手不能判黑方负。
6.黑方连五与禁手同时形成,因黑方已连成五即黑方已获胜,故禁手规则失效。
7.在对局中,在盘上落下的子又拿起来,此动作称为拔子,若拔子将被判为负。
8.在对局中棋子掉落在棋盘上将被判负。
若推子或蹭子,以盘面第一落点为准。
用手将棋子推正不算违犯规则。
9.在对局中,一方自行中止比赛如:
中途退场,将被判负。
10.在对局中对方宣布认输,本局获胜。
11.超过比赛规定所用时间限制,将被判为负:
正式比赛期间,迟到时间超过比赛容许时间将被判负。
12.如下至最终一子仍不分胜负则定为平局。
13.中盘期间双方同意和局提议,判定为平局。
3.3五子棋常用术语
1.着:
也称“步”。
对局中把一个棋子按照规则放到某一交叉点,称之为一着棋。
一着是否完成有两种规则:
(1)在执行落子无悔规则是,以行棋者的手离开棋子为一着已完成。
(2)在执行限时规则时,以行棋者按下棋钟作为一着已完成。
2.PASS:
五子棋中引入的英文名称,即应该行棋的一方主动放弃此次行棋的机会,由对方继续行棋。
3.先手:
对方必须应答的着法,如对方形成活三必须阻止其形成活四。
4.绝对先手:
相对先手而言,即形成同色连四或嵌五,对方必须应着,就是绝对先手。
绝对先手又叫“冲”。
5.VCF:
(VictoryofContinusFour的缩写)意思是利用连续冲四取胜之意。
利用连续不断的冲四或嵌五的绝对先手,制止形成连五获得胜利的一种方法。
在对局接近尾声或排局解题中一种常见的取胜技巧。
6.追下取胜:
是指白棋利用黑棋禁手取胜的战术。
白1冲四,迫使黑2形成“四、四”禁手(即冲四,活四禁手),这种取胜方法叫做追下取胜。
7.自由取胜:
追下取胜以外的取胜方法,即未利用黑棋禁手战术而取胜。
8.一子双杀:
是指对局中一方落子后出现两个叫杀点即两个获胜点,而使对方无法防守的情形。
一般是有两个冲四活三点,白棋的双活三,双四均可称为一子双杀。
9.阳线:
棋盘上可见的横线与直线的总称。
10.阴线:
也称“斜线”。
是棋盘上不可见的斜行线。
11.“四、三”:
指同时具备两个先手,其中一个四,另一个是活三。
12.“活三”、“嵌五”、“冲四”:
参见五子棋重要棋形讲座。
13.禁手:
对局中禁止使用的战术或被判为负的行棋手段。
14.开局:
也称“布局”。
布局阶段大体为七至十几着之内。
种类繁多,职业连珠五子棋有二十四种开局。
15.局面:
亦称“局势”。
为对局中某一段时间内双方子力的配置情况。
16.优势:
是指足以取胜的优势局面,其对方即为败势。
17.妙着:
对局中走出的一步精妙的着法。
既合乎