2022年Java的五子棋游戏的设计方案77.docx





《2022年Java的五子棋游戏的设计方案77.docx》由会员分享,可在线阅读,更多相关《2022年Java的五子棋游戏的设计方案77.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源基于 Java 的五子棋玩耍的设计摘要: 五子棋作为一个棋类竞技运动,在民间特殊流行,为了熟识五子棋规章及技巧,以及争论简洁的人工智能,准备用Java 开发五子棋玩耍;主要完成了人机对战和玩家之间联网对战 2 个功能;网络连接部分为Socket编程应用,客户端和服务器端的交互用Class Message定义,有很好的可扩展性,客户端负责界面爱惜和收集用户输入的信息,及错误处理;服务器爱惜在线用户的基本信息和任意两个对战用户的棋盘信息,动态爱惜用户列表;在人机对弈中通过深度搜寻和估值模块,来提高电脑棋手的智能;分析估值模块中的影响精准性的几个要 素,以及提出如干提高精准性的方法,以及
2、对它们搜寻的节点数进行比较,在这些算法的基础上分析一些提高电脑AI方案,如递归算法、电脑学习等;算法的争论有助于懂得程序结构,增强规律思维才能,在其他人工智能方面也有很大的参考作用;关键词: 深度搜寻估值电脑AI 五子棋算法目录一、引言(一) 课题背景 .1.0(二) 本课题争论的意义 .0(三) 本课题的争论方法 .1二、课题相关基础 (一) 五子棋.1.11、五子棋简介.22、棋盘和棋子 .33、规章及说明 .44、五子棋常用术语 .35、五子棋攻防 .5 二) Java 1、Java 简介.6.62、Java程序的开发过程.73、Java 开发环境 .8欢迎下载精品学习资源三、课题详细争
3、论方法 .8(一) 程序结构说明 .9(二) 棋盘及棋子的类 .91、棋盘.9 2、棋子.113、胜败判定条件 .114、网络对战 .135、电脑 AI .16结论.20参 考文 献 .20欢迎下载精品学习资源一、引言(一)课题背景五子棋是起源于中国古代的传统黑白棋种之一;现代五子棋日文称之为连珠,英译为 Renju,英文称之为 Gobang或 FIRFive in a Row的缩写 ,亦有连五子、五子连、串珠、五目、五目碰、五格等多种称谓;五子棋起源于古代中国,进展于日本,风靡于欧洲;对于它与围棋的关系有两种说法,一说早于围棋,早在“ 尧造围棋 ” 之前,民间就已有五子棋玩耍;一说源于围棋,
4、是围棋进展的一个分支;在中国的文化里,倍受人们的青睐;本世纪初五 子棋传入欧洲并快速风靡全欧;通过一系列的变化,使五子棋这一简洁的玩耍复杂 化、规范化,而最终成为今日的职业连珠五子棋,同时也成为一种国际竞赛棋; Java 语言是当今最为流行的程序设计语言之一作为一门特殊优秀和极为健壮的编程语言,它同时具有的面对对象,与平台无关,分布式应用,安全,稳固和多线程 等优良的特点,使用 Java 语言,不仅可以开发出功能强大的大型应用程序,而且Java 语言本身突出的跨平台的特性也使得它特殊适合于Internet上的应用开发, 可以这样说, Java 的显现使得所开发的应用程序“一次编写,处处可用”的
5、实现成为了可能;(二)本课题争论的意义近来随着运算机的快速进展,各种各样的电脑玩耍层出不穷,使得我们能有更多的消遣工程,而棋类玩耍能起到锤炼人的思维和修身养性的作用,而且棋类玩耍水平颇高,大有与人脑分庭抗礼之势;其中战赛过国际象棋世界冠军- 卡斯帕罗夫的“深蓝”便是最具说服力的代表;其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷宠爱;越来越多的具有智能的机器进入了人类的生活,人工智能的重要性如今显而易见;自己对人工智能比较感爱好,而五子棋玩耍程序的开发实现这个课题,正好供应应我这样一个争论的机会,通过对人工智能中博弈方面的争论(人机对弈),让我在简洁的人机对弈全局设计,以及
6、详细到相关算法上有了深化的明白;人工智能属于运算机科学的领域,它以运算机技术为基 础,近几十年来,它的理论和技术已经日益成熟,应用领域也正在不断扩大,显示出强大的生命力;人工智能大致可以分成几个学科,它们每一个都是特殊的,但是它们常常又相互结合起来完成设计任务,这时,这些学科之间的差别就变的很模欢迎下载精品学习资源糊;人工智能在专家系统,自然语言懂得,自动定理证明,自动程序设计,人工智能在机器人学、模式识别、物景分析、数据库的智能检索、机器下棋(实质上是博弈论问题)和家用电器智能化等领域都有广泛的应用;而这个课题就是和人工智能中的博弈论领域紧密相关的;这个题目核心是人工智能和 Socekt 编
7、程,;并且人工智能中的博弈部分,由于接受了大量的搜寻算法,其中许多被利用到各方面;它的概念、方法和技术,正在各行各业广泛渗透;智能已经成为当今各种新产品、新装备的进展方向;所以, 趁着这个机会,对人工智能中比较简洁实现的人机博弈进行明白争论学习,也是很有用且很有必要的;(三)本课题的争论方法在进行玩耍设计之前,第一准备的第一个问题就是,使用什么开发环境来编写环境. 自己虽然比较熟识 Java 语言,但是实际开发工程体会很少,所以准备用Jcreator, 其拥有高亮语法编辑、使用向导以及完全定制的用户界面,最主要的是能够自动查找文件于 Main 方法或 Html 文件以支持 Java 小应用程序
8、,然后启动相应的工具;其次确定整个程序的结构框架;由于 Applet 运行速度较慢,假如在加上算法搜寻时间,明显不符合程序的设计要求,准备用 Java 应用程序开发 . 整个程序的功能实现流程是这样的:网络对战涉及算法较少,所以先实现网络部分,实现基本的棋盘和棋子的类,添加判定胜败条件,这部是基础,也是很重要的,电脑 AI 也在这些基础上添加上来的;这个题目的 2 个功能包括 2 个重要算法,电脑 AI 和胜败条件,胜败条件运算量不大,有固定的模式;难点是人工智能,可以这样说,人工智能的好坏准备了这个题目的完成深度;所以,大部份时间花在 AI 算法的争论和改进上,对于算法我把握的不多,争论了一
9、些国内的五子棋算法,参考了一些玩耍设运算法,详细比较各种算法的优缺点,而且参考了现代五子棋竞赛的各种规章和技巧,尽量联系实际,努力提高电脑 AI;二、课题相关基础(一)五子棋1、五子棋简介五子棋是起源于中国古代的黑白棋,是一种两人对弈的纯策略型棋类玩耍;简洁上欢迎下载精品学习资源手,老少皆宜,而且趣味横生,引人入胜;现代五子棋又称之为“连珠”,英文称 之为“ Gobang”或“ FIR” FiveinaRow 的缩写 ,亦有“五子连”、“串珠”、“五目碰”、等名称;许多国家的人对五子棋都有不同的爱称,例如,韩 国人把五子棋称为“情侣棋”,示意情人之间下五子棋有利于增加情感的沟通;欧 洲人称其为
10、“绅士棋”,代表下五子棋的君子风度胜似绅士;日本人就称其为“中 老年棋”,说明五子棋适合中老年人的生理特点和思维方式;美国人宠爱将五子棋 称为“商业棋”,也就是说,商人谈生意时可边下棋边谈生意,棋下完了生意也谈 成了;传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为1919,棋子放置于棋盘线交叉点上;两人对局,各执一色,轮番下一子,先将横、竖或斜线的5 个或5 个以上同色棋子连成不间断的一排者为胜;五子棋不仅能增强思维才能,提高智力,而且有助于修身养性;它既有简洁易学的特性,人们都喜闻乐见,又有深奥的技巧和高水平的国际性竞赛;五子棋既有现代休闲的明显特点“短、平、快”,又有古典哲学的高深学
11、问“阴阳易理”2、棋盘和棋子现代五子棋棋盘,经过国际棋联的多次修改,最终定为15 X 15 路,即棋盘由横竖各 15 条平行线交叉组成,共有225 个交叉点;棋盘上共有五个星位,中间的星位称为天元,四周四点为小星,与围棋盘略有不同;见图1图 1 棋盘五子棋的棋子和围棋相同,分黑白2 种颜色,通常为散圆形,有一面凸起或二面凸欢迎下载精品学习资源起等形状,一副棋子总数为 225 枚,其中黑子 113 枚,白子 112 枚;关于计时,正规竞赛按不同级别设置了不同的时间限制,一般的玩家都没有这个限制;3、规章及说明(1) )黑棋先行,白棋随后;从天元开头相互次序落子;(2) )最先在棋盘的横向、竖向、
12、斜向形成连续的相同色五个棋子的一方为胜利;(3) )黑棋禁手判负、白棋无禁手;黑棋禁手包括“三、三”;“四、四”;“长连”;黑方只能用“四、三”去取胜;(4) )如分不出胜败,就定位平局;(5) )对局中拔子、中途退场均判为负(6) )五连与禁手同时形成,先五为胜;(7) )黑方禁手形成时,白方应马上指出;如白方未发觉或发觉后不马上指正,反而连续落子,就不能判黑方负;五子棋是由两个人在一盘棋上进行对抗的竞技运动;在对局开头时,先由执黑棋的一方将一枚棋子的落在“天元”上,然后由执白棋的一方在黑棋四周的交叉点上落 子;如此轮番落子直到某一方第一在棋盘的直线横线或斜线上形成连续的五子或五子以上,就该
13、方就算获胜;但是五子棋的特点是先行的一方优势很大;因此,在 职业竞赛种对黑方做了种种限制,以利公平竞争;黑白双方的胜败结果必需依据职 业五子棋的规章要求来准备;4、五子棋常用术语(1) )二:二是五子棋的一切攻击的基础;又分为活二和死二;活二:即再下一子可形成活三的二;死二:即再下一子可形成死三的二;(2) )三:三是五子棋最常见的攻击手段;三分为活三、死三、眠三;活三:为再下一子即可变成活四的三(活四介绍见后);或三分为连三、跳三;见图4;我们通常所说的“三”;就是指活三而言;假如是死三,将特殊指出;死三:即对方有棋子在同一条线相邻交叉点防守的三;死三分为三种;眠三:是死三的一种特性,它看上
14、去相邻点没有对方棋子防守,很像活三,但由于受空间限制,不论如何进展都不行能称为活四,故称为“眠三“;见图;欢迎下载精品学习资源反三:反三不是指一种“三”的形状,而是指再阻挡对方攻击的同时使自己称为一道活三的反攻,称为反三;(3) )四:四的形状有三种,它分为:活四,冲四、跳冲四;活四:在同一条线上相连的四个同色棋子成为“连五”;冲四:在同一条线上相连的相同颜色的四个棋子,它与活四不同的是,其中的一端有对方的棋子进行阻挡,它只有再在另一端下一手棋才可形成“连五”;跳冲四:它的形状在“四”中是比较特殊的,一般分为两种,它的特点是同一条线上的同色的四个棋子,有一个或两个棋子与另外三个或两个棋子之间有
15、一个交叉点的间隔,它的下一手棋只有下在间隔的交叉点上才能形成“连五”,因此,对方的棋子防守时,也只能阻挡在间的交叉点上;5、五子棋攻防五子棋是一项对抗性很强的运动,在开局进入五手两打后,就开头进入了白刃战, 相互争夺先手,任何一方都不能掉以轻心,要尽可能少犯错误,甚至不犯错误,否就将会导致速败;众所周知,连珠五子,连五为胜;有四才能有五,有三才有四,以此类推;所以, 在五子棋的对局众攻击和防守都是从“二”和“三”的争夺开头的;“好的开头是胜利的一半”,这条格言用在五子棋里再合适不过了;五子棋的点的选择特殊关键;五子棋实际上是通过选择正确的落点,加上正确的落子次序,一步一步地占据各个要点,最终获
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 Java 五子棋 游戏 设计方案 77

限制150内