资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
优质文档 课程设计 围棋对弈嬉戏的开发一、 主要任务和目标创立一个围棋对弈平台。基于Panel类定义一个面板子类,在其中利用Graphics类的drawLine方法绘制棋盘格线,利用fillOval方法绘制棋盘四角的星位。为面板注册MouseEvent监听器,为一个按钮注册ActionEvent事务监听器,实现单击鼠标布子、单机一个重新开局等操作。黑白棋子基于Canvas类的子类,其中,paint方法用来绘制棋子,通过为棋子注册MouseEvent事务监听器实现双击棋子吃子、右击棋子悔棋操作。Canvas组件表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者从该区域捕获用户的输入事务。必需重写paint方法,以便在Canvas上执行自定义图形。主类为Frame的子类,前面创立的棋盘被置入其中。 二、 主要内容和根本要求系统的功能要求: 1. 要求有黑白两色棋子,保存全部已下的棋子,包括在棋盘上的全部棋子和被踢掉的,假设某一次 落子没有造成踢子,包括全部被这个棋子提掉的棋子及这个棋子本身。假如踢子,那么保存全部被踢掉的棋子。保证明现下棋的根本操作如:可以允许悔棋,落子,提示信息,重新起先嬉戏等功能。 2.熟识JAVA中swing的组件运用,根本工具的娴熟驾驭。学习并驾驭以下技术:Java;娴熟运用以下开发工具:JCreator 等 三、打算进度112月28日-12月 29日:搜集资料、查阅文献,确定选题212月29日-01月02日:需求分析,系统设计,系统功能模块完善301月02日- 01月06 日:编程实现系统、系统测试和修改401月05日- 01月07日:课程设计报告撰写501月 07日-01月07日:课程设计报告辩论四、 主要参考文献:1. 陈轶.姚晓昆编著.Java程序设计试验指导.北京:清华大学出版社,20062. 赵文靖编著.Java程序设计根底和上机指导.北京:清华大学出版社,20063. 吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社,20064. 陈国君等编著.Java2程序设计根底.北京:清华大学出版社,20065.Java网络编程实例教程,清华大学出版社,冯博等,2005.1摘要围棋作为一个棋类竞技运动,在民间特别流行,为了熟识五子棋规那么及技巧,以及探究简洁的人工智能,确定用Java开发五子棋嬉戏。主要完成了人机对战和玩家之间联网对战2个功能。网络连接局部为Socket编程应用,客户端和效劳器端的交互用Class Message定义,有很好的可扩展性,客户端负责界面维护和收集用户输入的信息,及错误处理。效劳器维护在线用户的根本信息和随意两个对战用户的棋盘信息,动态维护用户列表。在人机对弈中通过深度搜寻和估值模块,来提高电脑棋手的智能。分析估值模块中的影响精准性的几个要素,以及提出假设干提高精准性的方法,以及对它们搜寻的节点数进展比拟,在这些算法的根底上分析一些提高电脑AI方案,如递归算法、电脑学习等。算法的探究有助于理解程序构造,增加逻辑思维实力,在其他人工智能方面也有很大的参考作用。关键词:围棋,信息自动化,嬉戏,javaABSTRACT 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 completed 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 interface 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 computer player. Analyses the influence of valuation module precision of several elements, and puts forward some measures of improving precision, and they search number of nodes in the comparison, in these algorithm is analyzed on the basis of some improve computer AI scheme, such as recursion algorithm, computer learning, etc. The algorithm for help to understand the program structure, strengthen the logical thinking ability, in other artificial intelligence also have very great reference role.Keywords: information automation , games , Java目 录JAVA程序课程设计任务书II摘要IVABSTRACTV目 录VI第1章 引言11.1 背景11.2 课程设计内容21.3 任务分工4第2章 围棋对弈系统52.1 围棋概述52.1.1围棋定义62.1.2 开发围棋的任务及目的72.2 主要系统介绍72.3 本章小结8第3章 围棋对弈系统的设计93.1 系统需求分析9用户登陆界面图93.2 系统开发及运行环境103.3 系统主要功能要求113.4.系统总体构造123.5 本章小结13第4章 围棋对弈系统的详细实现144.1界面设计144.1.1用户登陆界面图144.1.2用户注册界面图154.1.3 系统主界面184.2程序设计及调试运行214.3 本章小结21第5章 完毕语22致谢23参考文献24附录 源代码25优质文档第1章 引言1.1 背景围棋是一种智力嬉戏,起源于中国。中日韩是现今围棋的三大支柱,但近年来日本围棋逐步衰弱,形成了中韩争霸的局面。围棋是中华民族传统文化中的珍宝,它表达了中华民族对才智的追求,古人常以“琴棋书画”论及一个人的才华和修养,其中的“棋”指的就是围棋。被人们形象地譬如为黑白世界的围棋,是我国古人所宠爱的消遣竞技活动,同时也是人类历史上最悠久的一种棋戏。由于它将科学、艺术和竞技三者融为一体,有着开展智力,造就意志品质和机动敏捷的战略战术思想意识的特点,因而,几千年来长盛不衰, 并渐渐地开展成了一种国际性的文化竞技活动。围棋是一种策略性二人棋类嬉戏,运用格状棋盘及黑白二色棋子进展对弈。目前围棋流行于亚太,覆盖世界范围,是一种特别流行的棋类嬉戏。中国围棋规那么是数子法,围棋的本质是:谁的占地面积大谁获胜。围棋的规那么特别简洁,却拥有特别广袤的落子空间,使得围棋改变多端,比其它棋类困难深邃。这就是围棋的魅力所在。下围棋对人脑的智力开发很有协助,可增加一个人的计算实力、缔造实力、思维实力、判定实力,也能提高人的留意力和限制力。下围棋对儿童少年的智力开展起到踊跃作用,使他们能更好的分析事物。Java语言是当今最为流行的程序设计语言之一 作为一门特别优秀和极为强健的编程语言,它同时具有的面对对象,和平台无关,分布式应用,平安,稳定和多线程等优良的特征,运用Java语言,不仅可以开发出功能强大的大型应用程序,而且Java语言本身突出的跨平台的特性也使得它特殊适合于Internet上的应用开发,可以这样说,Java的出现使得所开发的应用程序“一次编写,到处可用”的实现成为了可能。近来随着计算机的快速开展,各种各样的电脑嬉戏层出不穷,使得我们能有更多的消遣工程,而棋类嬉戏能起到熬炼人的思维和修身养性的作用,而且棋类嬉戏水平颇高,大有和人脑分庭抗礼之势。其中战赛过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具劝服力的代表。越来越多的具有智能的机器进入了人类的生活,人工智能的重要性如今自不待言。自己对人工智能比拟感爱好,而围棋嬉戏程序的开发实现这个课题,正好供应应我这样一个探究的时机,通过对人工智能中博弈方面的探究人机对弈,让我在简洁的人机对弈全局设计,以及详细到相关算法上有了深化的了解。人工智能属于计算机科学的领域,它以计算机技术为根底,近几十年来,它的理论和技术已经日益成熟,应用领域也正在不断扩大,显示出强大的生命力。人工智能大致可以分成几个学科,它们每一个都是独特的,但是它们时时又相互结合起来完成设计任务,这时,这些学科之间的差异就变的很模糊。人工智能在专家系统,自然语言理解,自动定理证明,自动程序设计,人工智能在机器人学、模式识别、物景分析、数据库的智能检索、机器下棋实质上是博弈论问题和家用电器智能化等领域都有广泛的应用。而这个课题就是和人工智能中的博弈论领域严密相关的。 这个题目核心是人工智能和Socekt编程,。并且人工智能中的博弈局部,由于采纳了大量的搜寻算法,其中很多被利用到各方面。它的概念、方法和技术,正在各行各业广泛渗透。智能已经成为当今各种新产品、新装备的开展方向。所以,趁着这个时机,对人工智能中比拟简洁实现的人机博弈进展了解探究学习,也是很管用且很有必要的。1.2 课程设计内容此课程设计是一个小嬉戏围棋的实现,主要运用了GUI(用户图形界面)API(应用程序借口)来实现。此程序没有用到图片的引用,棋盘和棋子的设计完全是应用函数绘制, 再参加复选框,按钮,标签及实现本嬉戏的用户界面布局。在页面上通过单纯的JCreator实现的下棋程序,能够实现提子,打劫等简洁的下棋功能。更好的驾驭java编程以及布局和设计。通过课程设计把课堂上讲的内容融会贯穿,学会设计程序、开发应用软件、开发系统软件等各项工作。通过实习驾驭语言的语法构造,理解类和对象的概念,精确的运用各种数据类型,对面对对象中的继承和多态的概念要理解、会运用,在程序中提高代码的重用性,使设计的程序构造清晰、易于维护。一、棋盘 盘面有纵横各十九条等
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号