帮帮文库

返回

基于JAVA的五子棋游戏的设计 基于JAVA的五子棋游戏的设计

格式:word 上传:2022-06-25 14:56:30

《基于JAVA的五子棋游戏的设计》修改意见稿

1、“.....网络对战这部分也属于网络套接字编程的经典应用,根据服务器地址连接特定端口。网络部分很简单,但是我也做出了自己的特色,就是事件处理,做工可根据具体情况修改,虽然没有多少实用价值,但是也尽量使程序留有扩展性。下面给出了的代码。消息列表请求连接,连接者名字放棋子请求和其他人游戏拒绝游戏请求同意请求发送胜利消息断开连接请求保存游戏,但是不放在磁盘上,在下局开始时将会丢失添加新的玩家到所有客户端的玩家列表响应信息和玩家游戏,保存玩家的名字,创建游戏的玩家设置游戏信息设置设置玩家颜色接受请求的方设置服务端更新信息发送控制或信息游戏失败服务端套接字关闭玩家结束游戏及更新电脑获胜玩家获胜监听端口,如果有玩家则更新玩家列表,如果双击除自己以外的玩家,则可以开始游戏,发送游戏请求,如果同意则返回棋子颜色并开始游戏,同时清空玩家列表。每下子,把坐标传给服务端,并在端显示出来,并且判断胜负。如果,有方获胜,则提示消息通知双方,确定则继续开始新游戏。服务端开启服务监听线程和客户端,如图......”

2、“.....即可选择在线玩家进行联网游戏,如图。图服务端监听双击除自己以外的个玩家,发出游戏请求,同时要确定自己棋子的颜色,用发回服务端。如果被拒绝,则返回原来的状态。图邀请游戏键,第步的人工智能只是估值和搜索算法的集合,要真正的提高电脑还有很多步,例如,我的电脑只是片面的分析了双方的器型,没有前瞻性。如果玩家多想几步,电脑就发现不了。不过即使没采用递归算法,要是让电脑先下子的话,你的大部分时间也是花在防守上,可能是我的棋力太菜了,我自己还没有下赢过电脑。目前有种方法提高电脑棋力是递归算法,二是增加细致的特定棋形的判断,鉴于自己对算法方面欠缺甚多,没有办法完成这个功能,实在是遗憾。我大体说下这种算法的思路递归算法的意思可以说成今后几步预测法,首先让电脑分析个可能的点,如果在这儿下子将会形成对手不得不防守的棋型例如冲四活三那么下步对手就会照你的思路来防守你,如此来便完成了第步的预测。这时候在调用盘面分析模块对预测后的棋型进行分析,如果出现了四三双三或双四等制胜点......”

3、“.....否则照同样的方法向下分析,就可以预测出多步。如果盘面上没有对手必须防的棋型,进攻不成的话就得考虑防守了,将自己和对手调换下位置,然后用上面的方法来预测对手的棋重要防守和攻击都可以平衡,不过缺点是预测的算法量比较大。关于增加细致的特定棋形的判断,前面已经说过,以为不同的棋型,例如死四就有不同的几种情况,如果对每种设置不同的重要值,也可以提高电脑,但是要设置合适的分数就要在实践中检验了,因为这个不是大小的问题,而是相差多少。正如前面所说,增加对细致棋型的判断也会提高电脑,虽然没有递归算法明显,但的确是种途径,不过考虑的因素较多。关于电脑学习,这听起来似乎是算法无法实现的功能。但是在对弈中却是非常有用的,但还只是些理论上的东西,比如棋局结束后,反向搜索,在自己的棋库中设置相关记忆。但我并不以为这是很好的方法。因为用这种方法,很有可能它没有找准原因,又或者进行学习的时候反而把劣等的学习进去并且这种学习是很片面的,它只会认准种极相似的情况或者说模样的棋局情况......”

4、“.....结论通过本次课题的研究,用实现了五子棋人工智能和网络游戏。知道了这个课题的关键是电脑算法,在研究和编程其间,有了很多新的想法,同时对套接字编程也有了更新的认识。对五子棋相关规则及技巧有了新的收获,最重要的是自己动手解决问题的能力得到了提高。其中人工智能部分,由于采用了大量的搜索算法,其中很多被利用到各方面。它的概念方法和技术,正在各行各业广泛渗透。智能已经成为当今各种新产品新装备的发展方向。随着新的算法和理论的研究,人工智能必定会在人们生活中扮演重要的角色。参考文献耿祥义,张跃平实用教程第二版北京清华大学出版社,。何桥,李肃义程序设计简明教程北京中国水利水电出版社,。荣钦科技游戏设计北京清华大学出版社,。徐立,孙计安应用与开发案例教程北京清华大学出版社,。林飞中国艺术经典全书之五子棋吉林吉林摄影出版社。彭建国,那威连珠五子棋入门北京金盾出版社。文档来源论文网脑广义上来讲,博弈是指在定的环境条件和定的规则约束下,依靠自己所能够掌握的信息......”

5、“.....并从各自取得相应结果或收益的过程。冯诺伊曼,和摩根斯坦恩,在年出版了博弈论与经济行为书中,最早地提出了关于博弈论的概念。但是,对于非合作纯竞争型博弈,诺伊曼所解决的只有二人零和博弈。图服务端监听在这里所抽象化后的博弈问题是,已知参与者集合两方,策略集合所有棋着,和盈利集合赢子输子,最终是想去找到个理论上的解或平衡,也就是对参与双方来说都最合理最优的具体策略。而在这里狭义的讲,博弈论主要是研究棋手们落子中理性化逻辑化的部分,并将其系统化为门科学。换言之,博弈就是研究个体如何在错综复杂的相互影响中得出最合理的策略,博弈论正是衍生于古老的游戏或曰博弈如象棋扑克等。数学家们将具体的问题抽象化,通过建立自完备的逻辑框架体系研究其规律及变化。参考了很多五子棋算法,大部分思想差不多,就是搜索估值确定重要性,然后选取最大的个点下子。具体做法如下为电脑和玩家各建立张表,用来存放棋型数据,比如代表冲四的点,用代表活三的点,那么在计算重要性时,就可以根据得出前者比后者重要......”

6、“.....这里还要说明点的事,还要考虑四个方向。因为有可能有复合棋型,比如四三从第步起,不管是哪方下子,电脑都有以这点为中心搜索的矩阵内的所有空白点上棋子的重要性,颗棋子对棋型影响的大小有。重要看来虽然说进攻和防守的重要性样的,但是我认为防守更重要。在估值的时候,必须要考虑棋子的合法落子情况。不同的棋类博弈,其估值必定有极大的差别,各种因为规则而造成的不同因素影响估值的设计。不同的棋类游戏各有所谓的规则,规则中就有博弈双方都可以走哪些着法。些博弈游戏很容易就找到合理着法,我所实现的五子棋,它就具有很简单的落子规则,即棋盘上所有的空位都可以落子,它们都是合理的着法。但是有些棋类游戏,比如在中国象棋和国际象棋中,情况就有些复杂了,每个棋子都有它特定的着法,电脑下子要考虑自己和玩家的棋型,优先防守,如果没有要防的棋型,则搜索自己的棋型下子。设置重要性,即估值模块,下面只给出横向的代码方向,对于特定的棋型,都有个不同的估值,以此来区别不同棋型的优劣......”

7、“.....毫无疑问,像已有四子连成线且还可以继续落子的情况,明显要比只有三个子连成线的情况要好,或者说优先级要更高,对弈双方对此种棋局,肯定都是把第种情况放为首要分析的位置上。因此,要使棋手做出这种判断,就要把第种情况的估值设置得高。对不同的棋型设置重要值,比如活四死四活三死三活二死二。同理,和判断胜负样下子也要考虑边界特殊情况,矩形设置如下,努力提高电脑直是五子棋游戏关分,实现基本的棋盘和棋子的类,添加判断胜负条件,这部是基础,也是很重要的,电脑也在这些基础上添加上来的。这个题目的个功能包括个重要算法,电脑和胜负条件,胜负条件运算量不大,有固定的模式。难点是人工智能,可以这样说,人工智能的好坏决定了这个题目的完成深度。所以,大部份时间花在算法的研究和改进上,对于算法我掌握的不多,研究了些国内的五子棋算法,参考了些游戏设计算法,详细比较各种算法的优缺点,而且参考了现代五子棋比赛的各种规则和技巧,尽量联系实际,努力提高电脑。课题相关基础五子棋棋盘和棋子现代五子棋棋盘......”

8、“.....最终定为路,即棋盘由横竖各条平行线交叉组成,共有个交叉点棋盘上共有五个星位,中间的星位称为天元,周围四点为小星,与围棋盘略有不同。见图。图棋盘五子棋的棋子和围棋相同,分黑白种颜色,通常为散圆形,有面凸起或二面凸起等形状,副棋子总数为枚,其中黑子枚,白子枚。关于计时,正规比赛按不同级别设置了不同的时间限制,般的玩家都没有这个限制。规则及解释黑棋先行,白棋随后。从天元开始相互顺序落子。最先在棋盘的横向竖向斜向形成连续的相同色五个棋子的方为胜利。黑棋禁手判负白棋无禁手。黑棋禁手包括三三四四长连。黑方只能用四三去取胜。如分不出胜负,则定位平局。对局中拔子中途退场均判为负五连与禁手同时形成,先五为胜。黑方禁手形成时,白方应立即指出。若白方未发现或发现后不立即指正,反而继续落子,则不能判黑方负。五子棋是由两个人在盘棋上进行对抗的竞技运动。在对局开始时,先由执黑棋的方将枚棋子的落在天元上,然后由执白棋的方在黑棋周围的交叉点上落子......”

9、“.....则该方就算获胜。但是五子棋的特点是先行的方优势很大。因此,在职业比赛种对黑方做了种种限制,以利公平竞争。黑白双方的胜负结果必须按照职业五子棋的规则要求来决定。五子棋常用术语二二是五子棋的切进攻的基础又分为活二和死二。活二即再下子可形成活三的二,见图。死二即再下子可形成死三的二,见图。图活二图死二三三是五子棋最常见的攻击手段。三分为活三死三眠三。活三为再下子即可变成活四的三活四介绍见后。或三分为连三跳三。见图。我们通常所说的三。就是指活三而言。如果是死三,将特别指出。死三即对方有棋子在同条线相邻交叉点防守的三死三分为三种。见图。眠三是死三的种特性,它看上去相邻点没有对方棋子防守,很像活三,但由于受空间限制,不论如何发展都不可能称为活四,故称为眠三。见图。图活三图死三反三反三不是指种三的形状,而是指再阻止对方进攻的同时使自己称为道活三的反攻,称为反三。四四的形状有三种,它分为活四,冲四跳冲四。活四在同条线上相连的四个同色棋子成为连五,如图所示......”

下一篇
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
基于JAVA的五子棋游戏的设计.doc预览图(1)
1 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(2)
2 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(3)
3 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(4)
4 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(5)
5 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(6)
6 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(7)
7 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(8)
8 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(9)
9 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(10)
10 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(11)
11 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(12)
12 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(13)
13 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(14)
14 页 / 共 24
基于JAVA的五子棋游戏的设计.doc预览图(15)
15 页 / 共 24
预览结束,还剩 9 页未读
阅读全文需用电脑访问
温馨提示 电脑下载 投诉举报

1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。

2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。

3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。

  • Hi,我是你的文档小助手!
    你可以按格式查找相似内容哟
DOC PPT RAR 精品 全部
小贴士:
  • 🔯 当前文档为word文档,建议你点击DOC查看当前文档的相似文档。
  • ⭐ 查询的内容是以当前文档的标题进行精准匹配找到的结果,如果你对结果不满意,可以在顶部的搜索输入框输入关健词进行。
帮帮文库
换一批

搜索

客服

足迹

下载文档