《JAVA课程设计报告围棋对弈含代码_计算机-Java.pdf》由会员分享,可在线阅读,更多相关《JAVA课程设计报告围棋对弈含代码_计算机-Java.pdf(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 -.可修编.摘要 围棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用 Java 开发五子棋游戏。主要完成了人机对战和玩家之间联网对战 2 个功能。网络连接部分为 Socket 编程应用,客户端和服务器端的交互用 Class Message 定义,有很好的可扩展性,客户端负责界面维护和收集用户输入的信息,及错误处理。服务器维护在线用户的基本信息和任意两个对战用户的棋盘信息,动态维护用户列表。在人机对弈过深度搜索和估值模块,来提高电脑棋手的智能。分析估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以及对它们搜索的节点数进行比较,在这
2、些算法的基础上分析一些提高电脑 AI方案,如递归算法、电脑学习等。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。关键词:围棋,信息自动化,游戏,java -.可修编.ABSTRACT As a chess athletic sports,the folk very popular,to familiar with renju rules and skills,and research simple artificial intelligence,decided to use Java development renju game.Main pleted
3、the man-machine against and between players networking against two functions.Network connection parts for Socket programming application,the client and the server interaction with scale-up macro definition,have very good scalability,the client is responsible for maintenance and collect user interfac
4、e input,and error handling.Server maintenance,online users of the basic information and any two against the user board information,dynamic maintenance user list.In the man-machine right through the depth search and valuations module,to improve the intelligent puter player.Analyses the influence of v
5、aluation module precision of several elements,and puts forward some measures of improving precision,and they search number of nodes in the parison,in these algorithm is analyzed on the basis of some improve puter AI scheme,such as recursion algorithm,puter learning,etc.The algorithm for help to unde
6、rstand the program structure,strengthen the logical thinking ability,in other artificial intelligence also have very great reference role.五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归
7、算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.Keywords:information automation,games,Java 目录 ABSTRACTII 目录 III 第 1 章 引言 1 1.1 背景.1 1.2 课程设计容.2 1.3 任务分工 3 第 2 章 围棋对弈系统 4 2.1 围棋概述.4 2.1.1围棋定义 .6 2.1.2
8、开发围棋的任务及目的 .7 2.2 主要系统介绍.8 五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求
9、系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.第 3 章 围棋对弈系统的设计 9 3.1 系统需求分析 10 用户登陆界面图10 3.2 系统开发及运行环境.12 3.3 系统主要功能要求.12 3.4.系统总体结构 .13 第 4 章 围棋对弈系统的具体实现 14 4.1 界面设计 14 4.1.1用户登陆界面图14 4.1.2用户注册界面图16 4.1.3 系统主界面20 第 5 章 结束语 25 致 25 参考文献.25 五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收
10、集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.第 1 章 引言 1.1 背景 围棋是一种智力游戏,起源于中国。中日是现今围棋的三大支柱,但近年来日本围棋逐步衰弱,形成
11、了中争霸的局面。围棋是中华民族传统文化中的瑰宝,它体现了中华民族对智慧的追求,古人常以“琴棋书画”论及一个人的才华和修养,其中的“棋”指的就是围棋。被人们形象地比喻为黑白世界的围棋,是我国古人所喜爱的娱乐竞技活动,同时也是人类历史上最悠久的一种棋戏。由于它将科学、艺术和竞技三者融为一体,有着发展智力,培养意志品质和机动灵活的战略战术思想意识的特点,因而,几千年来长盛不衰,并逐渐地发展成了一种国际性的文化竞技活动。围棋是一种策略性二人棋类游戏,使用格状棋盘及黑白二色棋子进行对弈。目前围棋流行于亚太,覆盖世界围,是一种非常流行的棋类游戏。中国围棋规则是数子法,围棋的本质是:谁的占地面积大谁获胜。围
12、棋的规则十分简单,却拥有十分广阔的落子空间,使得围棋变化多端,比其它棋类复杂深奥。这就是围棋的魅力所在。下围棋对人脑的智力开发很有帮助,可增强一个人的计算能力、创造能力、思维能力、判断能力,也能提高人的注意力和控制力。下围棋对儿童少年的智力发展起到积极作用,使他们能更好的分析事物。Java 语言是当今最为流行的程序设计语言之一 作为一门非常优秀和极为健壮的编程语言,它同时具有的面向对象,与平台无关,分布式应用,安全,稳定和多线程等优良的特征,使用Java 语言,不仅可以开发出功能强大的大型应用程序,而且 Java 语言本身突出的跨平台的特性也使得它特别适合于 Internet 上的应用开发,可
13、以这样说,Java 的出现使得所开发的应用程序“一次编写,处处可用”的实现成为了可能。近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的娱乐项目,而棋类游戏能起到锻炼人的思维和修身养性的作用,而且棋类游戏水平颇高,大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表。越来越多的具有智能的机器进入了人类的生活,人工智能的重要性如今显而易见。五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任
14、意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.自己对人工智能比较感兴趣,而围棋游戏程序的开发实现这个课题,正好提供给我这样一个研究的机会,通过对人工智能中博弈方面的研究(人机对弈),让我在简单的人机对弈全局设计,以及具体到相
15、关算法上有了深入的了解。人工智能属于计算机科学的领域,它以计算机技术为基础,近几十年来,它的理论和技术已经日益成熟,应用领域也正在不断扩大,显示出强大的生命力。人工智能大致可以分成几个学科,它们每一个都是独特的,但是它们常常又互相结合起来完成设计任务,这时,这些学科之间的差别就变的很模糊。人工智能在专家系统,自然语言理解,自动定理证明,自动程序设计,人工智能在机器人学、模式识别、物景分析、数据库的智能检索、机器下棋(实质上是博弈论问题)和家用电器智能化等领域都有广泛的应用。而这个课题就是和人工智能中的博弈论领域紧密相关的。这个题目核心是人工智能和 Socekt 编程,。并且人工智能中的博弈部分
16、,由于采用了大量的搜索算法,其中很多被利用到各方面。它的概念、方法和技术,正在各行各业广泛渗透。智能已经成为当今各种新产品、新装备的发展方向。所以,趁着这个机会,对人工智能中比较容易实现的人机博弈进行了解研究学习,也是很实用且很有必要的。1.2 课程设计容 此课程设计是一个小游戏(围棋)的实现,主要运用了GUI(用户图形界面)API(应用程序借口)来实现。此程序没有用到图片的引用,棋盘和棋子的设计完全是应用函数绘制,再加入复选框,按钮,标签及实现本游戏的用户界面布局。在页面上通过单纯的 JCreator 实现的下棋程序,能够实现提子,打劫等简单的下棋功能。更好的掌握java编程以及布局和设计。
17、通过课程设计把课堂上讲的容融会贯通,学会设计程序、开发应用软件、开发系统软件等各项工作。通过实习掌握语言的语法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态的概念要理解、会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习
18、等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.一、棋盘 盘面有纵横各十九条等距离、垂直交叉的平行线,共构成 19 19361 个交叉点(以下简称为“点”)。在盘面上标有几 个小圆点。称为星位,中央的星位又称“天元”。二、棋子 棋子分黑白两色。均为扁圆形。棋子的数量以黑子 181、白子 180 个为宜。三、围棋的下法 一、对局双方各执一色棋子,黑先白后,交替下子
19、,每次只能下一子。二、棋子下在棋盘的点上。三、棋子下定后,不得向其他点移动。四、轮流下子是双方的权利,但允许任何一方放弃下子权。四、棋子的气 一个棋子在棋盘上,与它直线紧邻的空点是这个棋子的“气”。棋子直线紧邻的点上,如果有同色棋子存在,则它们便相互连接成一个不可分割的整体。它们的气也应一并计算。棋子直线紧邻的点上,如果有异色棋子存在,这口气就不复存在。如所有的气均为对方所占据,便呈无气状态。无气状态的棋子不能在棋盘上存在,也就是第四条提子。五、提子 把无气之子提出盘外的手段叫“提子”。提子有二种:一、下子后,对方棋子无气,应立即提取。二、下子后,双方棋子都呈无气状态,应立即提取对方无气之子。
20、六、计算胜负 1、贴 3 又 3/4 子的规则 第一步,把死子捡掉。第二步,只数一方围得点(叫做目)并记录下来(一般围得点以整十目为单位),再数刚才那一方的子数并记录下来,再把目数和子数加起来。第三步,如果数的是黑棋,再减去 3 又 3/4子,如果数的是白棋,再加上 3 又 3/4 子。第四步,结果和 180 又 1/2(棋盘 361 个点的一半)比较,超过就算胜,否则判负。2、让先与让子 让先不贴目,让子要贴还让子数的一半(就当被让方是预先收了单官)。1.3 任务分工 五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端
21、负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.第 2 章 围棋对弈系统 2.1 围棋概述 网络围棋在中国的出现几乎跟随着互联网同步成长,1998 年,
22、联众率先推出了网络围棋对弈。几年来各大网络围棋平台先后 上线,出身各异,水平也参差不齐。根据网络资料显示,截止 2007 年底,中国网络围棋平台平均在线人数达 6 万人。大型的游戏平台如 QQ游戏、联众游戏中都有围棋游戏。也就是 说 QQ围五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程
23、序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.棋、联众围棋都是镶嵌在其游戏平台之上。依靠游戏平 台用户人数的优势,这两个平台围棋用户人数占据了网络围棋 用户的半数之多。但根据专业人士分析:这部分用户无论在产品使用深度和对围 棋的认知上是绝对的新手,浅尝辄止,他们大多是过客。同时 他们的围棋软件本身也不够专业。专业的网络围棋平台才是中 国网络围棋普及和发展的出路。目前国的专业网络围棋平
24、台,大致可分使用产软件和国 产软件两大类。国专业围棋平台的领军人物弈城、TOM,便 是使用产软件的代表。两平台能够实现中对垒的特性,为 他们吸引了不少高水平的棋手,并受到棋友的广泛认可。但他 们同样有一个死穴,就是两家皆为购买国软件,不掌握主动 权,因此根本无法保证软件的及时更新,容易受制于方。“弈 城事件”便将这个致命缺点暴露无疑。经典的围棋系统有:Handtalk,Goemate,Wulu,他是志行的作品,曾多次获得过冠军。在他的指导下一个研究小组编写了乌鹭(WUIU),也在比赛中取得过亚军。Handtalk是用汇编语言编写的,执行速度快,程序本身也不大。由于程序并不大,可以推侧出其所用到
25、的模式资料也不多。Handtalk在大多数的情况下都不会失误,作者本人曾提到他是用到一种类似人类棋手在下围棋时常用到的手割法来帮助判断的。Handtalk与其它的程序明显不同的地方是它的攻杀能力特别强,在大多数的比赛中,都是通过吃掉对方几块棋而获胜。这是由于程序的棋块安危判断能力、形势判断能力、眼位判断能力和模式匹配能力都很强的关系.这些系统的好坏,跟设计者的棋力关系很大,作者本人具有近职业水准的棋力,对Handtalk的编写很有 五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处
26、理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.2.1.1 围棋定义 围棋是人生的模拟。开局时,盘上一片空白,就好像一个刚刚有了自觉意识的小孩,睁开了懵懂的双眼,开始了自己的人生之路。开局时,
27、你可以有各种选择,自由度最大,走哪一步都不会让你立刻输掉。布局基本上是兴趣的显示,有喜欢大模样的,那是寄希望于未来的做法;有现实地捞空的;有顺应对方的思路,不知不觉中达到自己目的的;也有处处与对方作对,即使自己不爽,也要给对方添堵的。由于棋盘的广大,不可能面面俱到地行棋。过程中,对局者不断地在判断、取舍,好像人生开始在选择自己的道路了。看着这里想要,那里也想要,可是没法面面俱到,终究只能选取一条路。有时候,你的招法对路,越走越畅,有的时候就有问题,想要的没要到,越下越添堵。优势时,好比人生得意时,心情很爽,最好一直就这么下去;劣势时,千方百计寻找对手的破绽,伺机翻盘。心理毅力强的人,总能把弦绷
28、得紧紧的,一直像甲鱼一样咬住对手;心理软弱的人,很早就放弃抵抗,认输投降。优势时被对方翻盘了,就好像原本胜券在握的一件事情,被自己搞砸了,懊悔痛恨都没有用;大败的棋,忽然找到对手的漏勺又赢了回来,就好像本已被逼到绝境,却又咸鱼翻生,大获全胜,心情之爽,难以表达!五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等
29、算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.由于围棋的棋盘相对比较广大,过程也较反复,一盘棋下来,通常势均力敌的对手都会有不止一次的获胜机会。这种翻来覆去的体验,非常象人生经历的一种浓缩、抽象。人生,是不可重复的,因此在迈出想要尝试的一步时,有可能随之而来的,是非常惨痛的代价。而围棋的过程,可以让你在做出种种尝试后付出最少的代价大不了输一盘棋么?推掉再来就是了
30、。我想,这就是围棋的魅力之所在吧。2.1.2 开发围棋的任务及目的 随着 Intemet 的普及,网络游戏己经成为大家耳濡目染的新生事物。网络游戏从出现到现在发展的时间很短,但是其发展速度却非常之快。现在,可以说网络游戏已经成为人们休闲、娱乐的有效方式。网络游戏种类很多,目前主要分战略类、RPG 类、棋牌类等几种,常见的棋牌类游戏有中国象棋、国际象棋、围棋、桥牌、拱猪、麻将等。网络游戏具有如下特征:(1)有一个或多个游戏服务器启动特定游戏服务;(2)游戏者到游戏下载客户端程序并申请游戏账号。然后启动客户端程序通过某种网络协议连接游戏服务器。(3)客户端负责处理客户端显示和操作界面,具有简单的逻
31、辑处理功能力,同时负责接收发送与服务器端交互的数据包。(4)服务器程序负方处理服务器端逻辑、游戏逻辑、客户之间的网络信息传递,以及数据库之间的数据读取保存工作。同时服务器端还要承担客户端数据的接五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈
32、系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.收、转发工作。(5)网络游戏常用的网络协议有 Internet 的 TCp/IP 协议、适用于局域网(如红色警报联网等采用)的 IPX协议。虽然目前很多围棋游戏正在运行,但是使用 java平台开发的游戏少之又少,这就使得围棋客户端的运行平台十分有限,不能满足今后发展的需求,如移动客户端,就基本上没有。因此开发一套基于 java的围棋系统十分必要。2.2 主要系统介绍 主要功能包括:用
33、户连接服务器之后:1、新用户可以注册。2、老用户必须登陆,才可以玩游戏等其他动作。开始游戏之后:1、用户双方选择白棋和黑棋。2、任何一方可以随时随地认输,游戏结束。4、要实现围棋最基本吃掉对方的法则。此设计为本站原创作品。其中包括:源程序,可执行程序,论文,录像,使用说明。五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算
34、法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.第 3 章 围棋对弈系统的设计 这一章时介绍开发环境和用到的开发工具,系统主要的功能设计,系统的数据流程图。五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任
35、意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.3.1 系统需求分析 用户登陆界面图 用户信息输入信息是否合法用户登录到主界面是弹出错误信息否输入登录界面自动跳转验证 3.设计流程(带流程图)用 户 界 面 棋复复按按标五子棋
36、游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图
37、 -.可修编.3.设计流程(带流程图)游戏初始化 白棋赢 黑棋赢 判断 准备就绪 运行游戏 用户界面 白字先 黑子先 游戏开始 落子 游戏重置 五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介
38、绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.3.2 系统开发及运行环境 硬件平台:CPU:P41.8GHz。存:256MB 以上。软件平台:操作系统:Windows XP。开发工具包:JDK Version1.6.2。JSP 服务器:Tomcat 6.0。浏览器:推荐使用 IE6.0。分辨率:最佳效果 1024 768 像素。3.3 系统主要功能要求 系统设计目标如下:主要功能包括:1、能够在局域网上实现多人在线对战。用户连接服务器之后:1、新用户可以注册。2、老用户必须登陆
39、,才可以玩游戏等其他动作。3、登陆之后,用户可以选择跟哪个在线玩家对战,如果对方同意,游戏开始。4、如果有以前没有下完的棋谱,可以选择读取棋谱,看看每一部是怎么走的。五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋
40、的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.开始游戏之后:1、用户双方选择白棋和黑棋。2、任何一方可以随时随地认输,游戏结束。3、如果双方没有下完,可以保存棋盘。4、要实现围棋最基本吃掉对方的法则。此设计为本站原创作品。其中包括:源程序,可执行程序,论文,录像,使用说明。3.4.系统总体结构 图 3.1 系统功能结构图 介绍:各功能模块实现的功能为:五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很
41、好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.库存管理功能模块图如图 3.2 所示。图 3.2 库存管理功能模块图 第 4 章 围棋
42、对弈系统的具体实现 界面是系统之间最直接的交互界面,界面的友好性体现了软件设计的质量,并在很大程度上决定了软件是否成功。4.1 界面设计 4.1.1 用户登陆界面图 围棋数据管理 黑子入库新增模块 黑子入库提子模块 白子入库新增模块 修改入库单和入库报表模块 库存查询模块 五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算
43、法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.用户信息输入信息是否合法用户登录到主界面是弹出错误信息否输入登录界面自动跳转验证 图4.1.1 用户登录模块框图 图4.1 用户登陆界面 五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服
44、务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.此loginDialog函数的作用是检测用户登陆的合法性,并确认用户输入了合法的登录名和口令。部分代码:login=new JDialog();lo
45、gin.setTitle(登录);/设置标题 login.setLayout(new FlowLayout();/利用流布局来设置窗口的布局 login.add(new JLabel(用户名:);/添加标签为用户名的对象 final JTextField name=new JTextField(10);/设置文本框中字符不得超过10 个 login.add(name);login.add(new JLabel(密 码:);final JPasswordField password=new JPasswordField(10);/设置密码框中字符不得多于 10 个 password.setEch
46、oChar(*);/设置显示密码对应的字符为*4.1.2 用户注册界面图 图 4.2 用户注册界面 private void registerDialog(final JDialog regDialog)Box box1=五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维
47、能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.Box.createVerticalBox();box1.add(new JLabel(用户名:,JLabel.RIGHT);/添加用户名标签,用户名在标签中靠右对齐 box1.add(Box.createVerticalStrut(10);box1.add(new JLabel(性别:,JLabel.RIGHT);/添加性别标签,性别在标签中靠右对齐 b
48、ox1.add(Box.createVerticalStrut(10);box1.add(new JLabel(密码:,JLabel.RIGHT),-1);/添加密码标签,密码在标签中靠右对齐 box1.add(Box.createVerticalStrut(10);box1.add(new JLabel(确认密码:,JLabel.RIGHT);/添加确认密码标签,确认密码在标签中靠右对齐 Box box2=Box.createVerticalBox();final JTextField nameTextField=new JTextField(10);/设置用户名文本框字符不得超过 10 个
49、,且文本框不能被继承 box2.add(nameTextField);box2.add(Box.createVerticalStrut(8);final CheckboxGroup cbg=new CheckboxGroup();Box box21=Box.createHorizontalBox();final Checkbox cb1=new Checkbox(男,cbg,true);/复选框默认状态选定为男性 五子棋游戏主要完成了人机对战和玩家之间联网对战个功能网络连接部分为编程应用客户端和服务器端的交互用定义有很好的可扩展性客户端负责界面维护和收集用户输入的信息及错误处理服务器维护在线用
50、户的基本信息和任意两的影响精准性的几个要素以及提出若干提高精准性的办法以及对它们搜索的节点数进行比较在这些算法的基础上分一些提高电脑方案如递归算法电脑学习等算法的研究有助于理解程序结构增强逻辑思维能力在其他人工智能方面也有弈系统围棋概述围棋定义开发围棋的任务及目的主要系统介绍可修编第章围棋对弈系统的设计系统需求分析用户登陆界面图系统开发及运行环境系统主要功能要求系统总体结构第章围棋对弈系统的具体实现界面设计用户登陆界面图 -.可修编.box21.add(cb1);box21.add(new Checkbox(女,cbg,false);/当鼠标点击女性复选框时,flase 自动变为 true b