没有合适的资源?快使用搜索试试~ 我知道了~
围棋游戏的设计与实现.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
1 下载量 73 浏览量
2022-07-04
11:21:43
上传
评论 1
收藏 1.13MB DOCX 举报
温馨提示
试读
62页
。。。
资源推荐
资源详情
资源评论
北京大学毕业设计
围棋游戏的设计与实现
摘 要
围棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以
及研究简单的人工智能,决定用 Java开发五子棋游戏。主要完成了人机对战和玩家之
间联网对战 2 个功能。网络连接部分为 Socket编程应用,客户端和服务器端的交互用
Class Message定义,有很好的可扩展性,客户端负责界面维护和收集用户输入的信
息,及错误处理。服务器维护在线用户的基本信息和任意两个对战用户的棋盘信息,
动态维护用户列表。在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智
能。分析估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以
及对它们搜索的节点数进行比较,在这些算法的基础上分析一些提高电脑 AI方案,如
递归算法、电脑学习等。算法的研究有助于理解程序结构,增强逻辑思维能力,在其
他人工智能方面也有很大的参考作用。
关键词
:
围棋,信息自动化,游戏,java
i
北京大学毕业设计
Design and Implementation of chess game
ABSTRACT
Go as a chess tournament sport is very popular in the folk, in order to know the renju
rules and techniques, and artificial intelligence research simple, decided to use Java gobang
game development. Main completed the man-machine between networking and multiplayer
game with two functions. Network connection parts for Socket programming applications,
client and the server to interact with the Class Message definition, has good scalability, the
client is responsible for the maintenance and collect information of user input interface, and
error handling. The basic information of the server maintenance online users and any two
against the user's information board, dynamic maintenance user list. Through deep search and
valuation in man-machine game module, to improve computer chess player's intelligence.
Analysis of several factors that have effect on the precision of the valuation module, and puts
forward some improve the precision of the method, as well as to the number of nodes in the
search to compare them, on the basis of these algorithms analyze some improve AI scheme,
such as recursive algorithm, computer learning, etc. Algorithm research helps to understand
the program structure, enhance the logical thinking ability, in the other artificial intelligence
also has a great reference function.
Keywords: Go, Information Automation , Games , Java
ii
北京大学毕业设计
目
录
摘 要 ...............................................................I
ABSTRACT ............................................................II
第 1 章 绪论 .........................................................1
1.1 背景 ...........................................................1
1.2设计内容........................................................2
第 2 章 围棋对弈系统 .................................................4
2.1 围棋概述.......................................................4
2.1.1 围棋定义 ...............................................4
2.1.2 开发围棋的任务及目的 ..................................5
2.2 主要系统介绍...................................................5
2.3 本章小结.......................................................6
第 3 章 围棋对弈系统的设计 ............................................7
3.1 系统需求分析 ...................................................7
3.2 系统开发及运行环境 .............................................8
3.3 系统主要功能要求 ...............................................8
3.4系统总体结构....................................................9
3.5 本章小结......................................................10
第 4 章 围棋对弈系统的具体实现 .....................................11
4.1界面设计.......................................................11
4.2 输赢判断设计 ..................................................14
4.3程序设计及调试运行.............................................15
4.4本章小结.......................................................15
第 5 章 结束语 ......................................................16
参考文献 ............................................................17
致 谢 ..............................................................18
附 录 ..............................................................19
译文资料 ............................................................33
中文译文 ............................................................47
iii
北京大学毕业设计
第 1 章 绪论
1.1 背景
围棋是一种智力游戏,起源于中国。中日韩是现今围棋的三大支柱,但近年来日本
围棋逐步衰弱,形成了中韩争霸的局面。
围棋是中华民族传统文化中的瑰宝,它体现了中华民族对智慧的追求,古人常以“琴
棋书画”论及一个人的才华和修养,其中的“棋”指的就是围棋。被人们形象地比喻为
黑白世界的围棋,是我国古人所喜爱的娱乐竞技活动,同时也是人类历史上最悠久的一
种棋戏。由于它将科学、艺术和竞技三者融为一体,有着发展智力,培养意志品质和机
动灵活的战略战术思想意识的特点,因而,几千年来长盛不衰, 并逐渐地发展成了一
种国际性的文化竞技活动。
围棋是一种策略性二人棋类游戏,使用格状棋盘及黑白二色棋子进行对弈。目前围
棋流行于亚太,覆盖世界范围,是一种非常流行的棋类游戏。
中国围棋规则是数子法,围棋的本质是:谁的占地面积大谁获胜。
围棋的规则十分简单,却拥有十分广阔的落子空间,使得围棋变化多端,比其它棋
类复杂深奥。这就是围棋的魅力所在。下围棋对人脑的智力开发很有帮助,可增强一个
人的计算能力、创造能力、思维能力、判断能力,也能提高人的注意力和控制力。下围
棋对儿童少年的智力发展起到积极作用,使他们能更好的分析事物。
Java 语言是当今最为流行的程序设计语言之一 作为一门非常优秀和极为健壮的编
程语言,它同时具有的面向对象,与平台无关,分布式应用,安全,稳定和多线程等优
良的特征,使用 Java 语言,不仅可以开发出功能强大的大型应用程序,而且 Java 语言
本身突出的跨平台的特性也使得它特别适合于 Internet 上的应用开发,可以这样说,Java
的出现使得所开发的应用程序“一次编写,处处可用”的实现成为了可能。
近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的
娱乐项目,而棋类游戏能起到锻炼人的思维和修身养性的作用,而且棋类游戏水平颇高,
大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是
最具说服力的代表。
越来越多的具有智能的机器进入了人类的生活,人工智能的重要性如今显而易见。
自己对人工智能比较感兴趣,而围棋游戏程序的开发实现这个课题,正好提供给我这样
一个研究的机会,通过对人工智能中博弈方面的研究(人机对弈),让我在简单的人机
对弈全局设计,以及具体到相关算法上有了深入的了解。人工智能属于计算机科学的领
域,它以计算机技术为基础,近几十年来,它的理论和技术已经日益成熟,应用领域也
正在不断扩大,显示出强大的生命力。人工智能大致可以分成几个学科,它们每一个都
是独特的,但是它们常常又互相结合起来完成设计任务,这时,这些学科之间的差别就
变的很模糊。人工智能在专家系统,自然语言理解,自动定理证明,自动程序设计,人
工智能在机器人学、模式识别、物景分析、数据库的智能检索、机器下棋(实质上是博
弈论问题)和家用电器智能化等领域都有广泛的应用。而这个课题就是和人工智能中的
博弈论领域紧密相关的。
这个题目核心是人工智能和 Socekt 编程,。并且人工智能中的博弈部分,由于采用
了大量的搜索算法,其中很多被利用到各方面。它的概念、方法和技术,正在各行各业
1
北京大学毕业设计
广泛渗透。智能已经成为当今各种新产品、新装备的发展方向。所以,趁着这个机会,
对人工智能中比较容易实现的人机博弈进行了解研究学习,也是很实用且很有必要的。
1.2 设计内容
此设计是一个小游戏(围棋)的实现,主要运用了 GUI(用户图形界面)API(应用程
序借口)来实现。此程序没有用到图片的引用,棋盘和棋子的设计完全是应用函数绘制,
再加入复选框,按钮,标签及实现本游戏的用户界面布局。
在页面上通过单纯的 JCreator 实现的下棋程序,能够实现提子,打劫等简单的下棋
功能。更好的掌握 java 编程以及布局和设计。通过课程设计把课堂上讲的内容融会贯
通,学会设计程序、开发应用软件、开发系统软件等各项工作。通过实习掌握语言的语
法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态
的概念要理解、会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维
护。
盘面有纵横各十九条等距离、垂直交叉的平行线,共构成 19×19=361 个交叉点(以
下简称为 “点”)。 在盘面上标有几 个小圆点。称为星位,中央的星位又称“天元”。
二、棋子
棋子分黑白两色。均为扁圆形。 棋子的数量以黑子 181、白子 180 个为宜。
三、围棋的下法
一个棋子在棋盘上,与它直线紧邻的空点是这个棋子的“气”。 棋子直线紧邻的点
上,如果有同色棋子存在,则它们便相互连接成一个不可分割的整体。它们的气也应一
并计算。 棋子直线紧邻的点上,如果有异色棋子存在,这口气就不复存在。如所有的
气均为对方所占据,便呈无气状态。无气状态的棋子不能在棋盘上存在,也就是第四条
——提子。
把无气之子提出盘外的手段叫“提子”。
提子有二种:
1、贴 3 又 3/4 子的规则
第一步,把死子捡掉。
第二步,只数一方围得点(叫做目)并记录下来(一般围得点以整十目为单位),
再数刚才那一方的子数并记录下来,再把目数和子数加起来。
第三步,如果数的是黑棋,再减去 3 又 3/4 子,如果数的是白棋,再加上 3 又 3/4
子。
2
剩余61页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6507
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功