象棋游戏毕业设计

合集下载

基于Android技术的中国象棋人机对弈游戏的设计与实现

基于Android技术的中国象棋人机对弈游戏的设计与实现

西安邮电大学毕业设计(论文)题目:基于android技术的中国象棋人机对弈游戏的设计与实现目录摘要 (I)ABSTRACT .................................................... I I 1 绪论. (1)1.1 研究背景 (1)1.1.1中国象棋背景 (1)1.1.2 Android系统简介 (1)1.2 本论文研究意义 (3)2设计相关技术理论 (5)2.1 游戏系统开发平台及搭建 (5)2.2 可行性研究 (6)3游戏系统功能分析与设计 (7)3.1 界面的需求分析 (7)3.2游戏走棋需求设计分析 (7)3.3类框架的设计 (8)4 游戏系统的设计与实现 (9)4.1游戏界面的设计 (9)4.1.1 共有类ChessActivity的实现 (9)4.1.2 辅助界面相关类的实现 (9)4.1.3 游戏界面相关类的实现 (9)4.2 中国象棋的规则及走法的实现 (10)4.2.1行棋规则 (10)4.2.2棋盘的表示 (22)4.3 游戏人机会话的实现 (23)4.3.1 着法的生成 (23)4.3.2 搜索算法 (24)4.3.3 局面评估 (26)5 游戏系统模块的设计实现 (28)5.1 欢迎界面 (28)5.2菜单界面 (28)5.3 帮助界面 (30)5.4游戏界面 (30)6 运行测试 (34)7 结束语 (35)致谢 (36)参考文献 (37)附录: (38)译文 (48)摘要中国象棋是一款智力休闲游戏,具有历史悠久而且拥有巨大的游戏爱好者群体,他们以中国象棋陶冶情操、锻炼智力、体验象棋带来的快乐,中国象棋还是一个老少皆宜的娱乐游戏。

随着手持设备、智能手机的普及,搭载Android操作系统的智能手机也已经走进了千家万户,当人们闲暇偶尔需要娱乐时,却发现没有实物象棋,该软件不失为一个很好的替代品,供大家进行娱乐享受,尤其是在现在这个快节奏的社会中,人们更满足于手机的使用,可以方便地随意移动,不像实物象棋那样静静的坐着。

中国象棋详细设计分析

中国象棋详细设计分析

《计算机综合实习》题目:中国象棋(java单机版)班级:信息与计算科学1001班*名:***学号:*********指导教师:***日期:2014.1.7目录第一章引言(概述)........................................................................................................................ - 1 -第二章可行性分析.................................................................................................................................. - 2 -2.1 总体分析............................................................................................................................................. - 2 -2.2 开发环境介绍..................................................................................................................................... - 2 -2.2.1软件开发环境 (2)第三章需求设计...................................................................................................................................... - 2 -第四章详细设计.................................................................................................................................... - 3 -4.1 功能设计............................................................................................................................................. - 3 -4.1.1功能说明 (3)4.1.2对弈规则 (3)4.1.3相关类图 ................................................................................ 错误!未定义书签。

中国象棋游戏设计

中国象棋游戏设计

JIU JIANG UNIVERSITY毕业设计题目中国象棋游戏设计英文题目Chinese Chess Game Design院系信息科学与技术学院专业信息管理与信息系统姓名林传玉班级学号 A102215 指导教师杨桃二O一四年五月摘要中国象棋游戏系统是以C/S架构为基础开发的对弈软件,以灵活独立的Java语言为主要开发工具,其中多线程、JavaSwing、Socket编程以及数组和字符串的运用等技术都在开发过程中有所涉猎。

在计算机广泛普及的背景之下,中国象棋游戏解决了由时间、地域和对手有限等面对面对弈所产生的问题,给人们带来很多方便。

对于象棋游戏的研究,通过棋盘类的开发实现棋盘模块,从移动区域、移动规则两个方面详细研究并描述象棋七类棋子的基本属性和棋子走法。

另外,通过对系统的运行测试,表明系统除了实现基于Java技术的中国象棋游戏行棋规则算法,得以使每个棋子的行棋路线都严格遵循棋子属性所具备的走棋规则之外,还具有悔棋、计时、求和、认输等功能,而系统本身也具备界面朴素,操作简便,运行稳定的特点。

系统虽然调试完成,但是仍有许多不足之处,比如没有实现人机对弈,没有聊天记录的本机储存等功能。

不过,随着开发经验的积累,系统的缺陷和不足将会逐步得到完善。

关键词:中国象棋,设计,软件,多线程,信息技术AbstractChinese chess game system is a game software which is developed on the basis of C/S architecture, and using the flexible independent Java language as the main development tools, multi-threading, JavaSwing, Socket programming as well as array and character string are dabbled in the process of development in technology.Under the broad background of the network, the problems resulting from face to face rival game, like the limits of time, region and opponents etc, are solved, to bring a lot of convenience. For the study of chess games, board module achieved through the development of boards, study and describe the basic properties and pawn moves of the seven categories of chess from two aspects of mobile area and moving rules. Furthermore, through the operation tests of the system, it shows that in addition to realize the Chinese chess game moves rules algorithm based on Java technology, so that each piece moves on line strictly follow pieces attribute of the rules of playing chess, the system also has undo, timing, summation, throw in the towel and other functions, and the system itself has characteristics of simple interface, easy operation and stable operation.While System debugging is completed, but there are still many deficiencies, such as no man-machine chess, no chats local storage and other functions. However, with the accumulation of development experience, and gradually perfect the flaw and the insufficiency of the system is imperative.Keywords: Chinese Chess, Design, Software, Muiti Theard, Information Technology目录摘要 (I)Abstract (II)1 绪论1.1 课题背景 (1)1.2 课题研究的内容与意义 (2)1.3 技术思路 (3)1.4 本章小结 (4)2 系统分析2.1 可行性分析 (5)2.2 系统功能模块分析 (6)2.3 需求分析 (7)2.4 本章小结 (10)3 系统设计3.1 中国象棋游戏的结构设计 (11)3.2 系统的功能模块设计 (13)3.3 走棋和吃棋规则设计 (14)3.4 主要算法伪码示例 (18)3.5 本章小结 (22)4 系统运行测试4.1 服务端和客户端运行测试 (23)4.2 客户端和客户端运行测试 (25)4.3 本章小结 (29)5 总结与展望5.1 全文总结 (30)5.2 研究展望 (30)致谢 (32)参考文献 (33)1 绪论1.1 课题背景中国象棋作为我国的十大“国粹”之一,其爱好者不计其数。

计算机中国象棋网络对弈软件毕业设计

计算机中国象棋网络对弈软件毕业设计

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊摘要中国象棋网络版是一款可以实现多人同时在线的网络对弈象棋软件。

中国象棋网络版采用C/S架构,由跨平台的Java语言和MySQ L数据库开发,在开发过程中使用了多线程、java swing、Socket编程以及TCP和UDP协议等技术。

中国象棋网络版提供了:棋友状态列表,弈棋邀请,观看他人弈棋,棋谱记录和保存,在线交流,快速注册等功能。

服务端提供了:发布系统消息提示,服务器状态显示,在线棋友管理等功能。

最后,对系统进行测试表明,系统功能达到了预期的要求,实现与同类的象棋软件如QQ象棋类似的功能,具有界面友好,操作简便,运行稳定的特点,完成设计要求的功能。

本系统不足之处在于没有实现人机对弈、聊天记录的本机存储,将在以后的更新版本中逐步完善。

关键词:对弈,Java,多线程┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊AbstractChinese chess online is a software can support multiplayer play chess online at the same time .The chinese chess online, based on the architecture of C/S, is developed by MySQL database and Java, a cross-platform language. In the development, multi-thread, Java swing, Socket programming and TCP/UDP protocol are applied. First, the newer can fast register and then get an account in the network version. The players can invite others to join, watch others playing, communicate with others online and hold chess-playing records. Of course ,there exists a status bar to check the states of all chess players. Here the service releases the notes of the system information, displays the state of itself, and deal with chess players online, etc. The test of the system indicates, all the expected functions have been realized. It has the similar functions just like the QQ chess, an online software of kind. The interface is on good terms, and the operation is easy, and also it runs stably. However, disappointingly, the computer can't be an opponent of the players, and the users' computer can't keep the chat records itself. These are both the weak points and the improvements will be made in the new version.Keywords: chess-playing , Java, Multithreading┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录1. 前言 (1)1.1课题的研究目的和意义 (1)1.2开发和运行环境 (1)1.2.1开发环境 (1)1.2.2运行环境 (1)2.JAVA和网络套接字技术 (2)2.1J AVA简介 (2)2.2J AVA图形技术 (2)2.3J AVA事件响应技术 (4)2.3.1鼠标事件响应 (4)2.3.2键盘事件响应 (4)2.4网络网络通信技术 (4)2.4.1 TCP (4)2.4.2 UDP (4)2.4.3 Socket (5)2.4.4 Java实现 (5)3.中国象棋网络版架构设计与通信设计 (7)3.1中国象棋网络版架构分析与设计 (7)3.2中国象棋网络版数据通信设计与实现 (7)3.2.1通信协议选择 (7)3.2.2数据类型分析 (9)3.2.3数据格式设计 (11)3.2.4数据通信与处理伪码示例 (13)4.中国象棋网络版客户端实现 (16)4.1客户端基础架构 (16)4.2客户端GUI设计 (16)4.2.1弈棋主面板 (16)4.2.2用户列表面板 (17)4.2.3棋谱记录面板 (17)4.2.4用户交流面板 (17)4.3客户端类设计 (18)4.3.1 chessboardP (18)4.3.2 userP (18)4.3.3 chessstateP (19)4.3.4 chatP (19)4.3.5数据处理相关类 (19)4.4客户端主要算法伪码示例 (20)4.4.1棋子和棋盘状态维护算法简介 (20)4.4.2棋盘规则马规则伪码示例 (20)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊4.4.3棋子选择和移动伪码示例 (20)4.4.4棋谱生成部分伪码示例 (21)4.4.5棋局结果判定伪码示例 (22)4.4.6通信数据处理和分发算法简介 (22)4.4.7棋子选中闪烁算法简介 (22)5.中国象棋网络版服务器端实现 (23)5.1服务器端基础架构 (23)5.2服务器端GUI设计 (24)5.3服务器端类设计 (25)5.3.1 serverGUI (25)5.3.2 serverListener (25)5.3.3 chessroom (26)5.3.4 databaseinterface (26)5.4数据库相关开发 (26)5.4.1数据库需求分析 (26)5.4.2数据库表设计 (26)5.5服务器端主要算法伪码示例 (27)5.5.1登录注册时与数据库交互伪码示例 (27)5.5.2弈棋聊天用户列表维护数据转发算法简介 (28)5.5.3 MD5加密产生密匙伪码示例 (28)5.5.4踢用户下线伪码示例 (28)6.中国象棋网络版运行测试 (30)6.1.客户端功能测试 (30)6.1.1用户上线响应异常 (30)6.1.2弈棋过程中将可以出九宫异常 (31)6.2服务器端测试 (32)6.2.1用户下线后服务器在线用户数统计异常 (32)6.2.2对正在弈棋的用户强制下线异常 (33)6.3测试总结 (33)结束语 (34)致谢 (35)参考文献 (36)附录 (37)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1.前言1.1 课题的研究目的和意义本课题的目的是采用Java语言编写实现网络象棋对弈软件,实现中国象棋的网络对弈,拥有用户列表、棋谱查看保存、在线交流等功能。

中国象棋设计

中国象棋设计
//规则类对象(使于调用方法) ChessRule rule; /** ** 单击棋子 ** chessManClick = true 闪烁棋子 并给线程响应 ** chessManClick = false 吃棋子 停止闪烁 并给线程响应 */ boolean chessManClick; /** ** 控制玩家走棋 ** chessPlayClick=1 黑棋走棋 ** chessPlayClick=2 红棋走棋 默认红棋 ** chessPlayClick=3 双方都不能走棋 */ int chessPlayClick=2; //控制棋子闪烁的线程 Thread tmain; //把第一次的单击棋子给线程响应 static int Man,i;
主标题
问题定义阶段 可行性研究阶段 需求分析 详细设计 总体设计 编码 测试
问题定义阶段—功能简要描述
这是一个单机版中国象棋。该游戏严格按照象棋的游戏规则进行游戏。用鼠标拖动棋子到指定位置,即可进行交替象棋对战。在游戏界面中还可进行新游戏、悔棋、退出等功能型操作。
问题定义阶段—用例图
红棋
黑棋
JLabel image; //窗格 Container con; //工具栏 JToolBar jmain; //重新开始 JButton anew; //悔棋 JButton repent; //退出 JButton exit; //当前信息 JLabel text; //保存当前操作 Vector Var;
数据字典—加工
编号
名称
内部名
输入数据
输出数据
加工逻辑
备注
P1
生成棋盘棋子
ChessMainFrame
F01+E03+E04+E05

基于android的中国象棋的设计与实现本科毕设论文

基于android的中国象棋的设计与实现本科毕设论文

实训报告实训项目名称基于Android象棋游戏的开发与测试二级学院信息工程学院专业班级11级计科(2)班姓名完圆圆、李城城、孙超、胡迪学号1142151221、14、20、08日期2014-11-19项目名称基于安卓象棋游戏的开发与测试地点教13 603报告内容在本报告中,首先介绍了安卓的现状以及开发的相关知识,其次是关于开发游戏过程中用到的开发工具和系统的运行环境配置等。

通过对Android系统架构和应用开发进行初步研究,设计一款中国象棋游戏。

在对系统进行详细需求分析的基础上,确定了系统的功能和性能要求,对游戏的菜单界面、屏幕绘制、时间控制、布局算法和动画等进行了设计,并最终实现了一个界面友好、高效稳定和富有娱乐性的手机益智游戏。

最后,实现的是对本次游戏的测试并列举了测试用列以及给出了测试结果。

教师评语成绩:教师签名:摘要中国象棋是一款智力休闲游戏,具有历史悠久而且拥有巨大的游戏爱好者群体,他们以中国象棋陶冶情操、锻炼智力、体验象棋带来的快乐,中国象棋还是一个老少皆宜的娱乐游戏。

随着手持设备、智能手机的普及,搭载Android操作系统的智能手机也已经走进了千家万户,当人们闲暇偶尔需要娱乐时,却发现没有实物象棋,该软件不失为一个很好的替代品,供大家进行娱乐享受,尤其是在现在这个快节奏的社会中,人们更满足于手机的使用,可以方便地随意移动,不像实物象棋那样静静的坐着。

本论文通过实际应用软件的开发深入分析和研究Android开发技术。

实现中国象棋的人机会话。

本文实现了中国象棋在计算机中表示问题,基于Android平台应用,人机对战模拟现实中的人人对战;讨论走棋规则和着法的实现等一系列问题,最终电脑能够通过产生着法,搜索,估计来产生一步最优的走棋,实现人机会话的目的。

关键字:中国象棋,Android,智能手机,人机对战目录1 绪论 (1)1.1 研究背景 (1)1.2 本论文研究意义 (3)2 游戏系统开发平台及搭建 (4)2.1 JDK和Eclipse: (4)2.2 Android SDK (4)2.3 ADT (5)3 系统分析 (6)3.1 可行性研究 (6)3.2 界面的需求分析 (6)3.3 游戏走棋需求设计分析 (6)4 游戏系统的设计与实现 (7)4.1 类框架的设计 (7)4.2 共有类ChessActivity的实现 (8)4.3 辅助界面相关类的实现 (8)4.4 游戏界面相关类的实现 (9)4.5 中国象棋的规则及走法的实现 (10)4.6 游戏人机对战的实现 (18)4.7 系统流程图 (19)5 运行测试 (20)5.1 测试用例表 (20)5.2 测试结果 (20)6 小结 (23)参考文献 (24)附录: (25)1 绪论1.1研究背景(1)中国象棋背景中国象棋发展至今已有两千三、四百年的历史,早在战国时期就有正式的记载,堪称中国的国粹。

基于Android中国象棋游戏设计本科毕业设计论文

基于Android中国象棋游戏设计本科毕业设计论文

上海电力学院本科毕业设计(论文)题目:基于Android的中国象棋游戏的设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:基于Android的中国象棋游戏的设计摘要随着智能手机的快速普及,智能手机操作系统市场风生水起。

为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。

因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。

而Android是开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。

因此,对于软件从业人员来说,Android平台具有无限的吸引力。

本文就在分析讨论Android手机软件开发技术原理的基础上,为用户开发出基于Android平台的中国象棋游戏的软件。

通过对Android系统架构和应用开发进行初步研究,设计一款中国象棋游戏。

在对系统进行详细需求分析的基础上,确定了系统的功能和性能要求,对游戏的菜单界面、屏幕绘制、时间控制、布局算法、音效和动画等进行了设计,并最终实现了一个界面友好、高效稳定和富有娱乐性的手机益智游戏。

毕业论文-中国象棋手机游戏

毕业论文-中国象棋手机游戏

基于Android操作系统的中国象棋手机游戏Chinese Chess Application based on Android Mobile OS指导老师: xxxxxxxxxxx姓名: xxxxxxxxxx学号: xxxxxxxxxx学院:软件学院专业:软件工程声明本人郑重声明:所呈交的毕业设计(论文)是本人在指导教师指导下进行的研究工作及取得的研究成果。

其中除加以标注和致谢的地方,以及法律规定允许的之外,不包含其他人已经发表或撰写完成并以某种方式公开过的研究成果,也不包含为获得其他教育机构的学位或证书而作的材料。

其他同志对本研究所做的任何贡献均已在文中作了明确的说明并表示谢意。

本毕业设计(论文)成果是本人在江西师范大学读书期间在指导教师指导下取得的,成果归xxx大学所有。

特此声明。

声明人(毕业设计(论文)作者)学号:声明人(毕业设计(论文)作者)签名:签名日期:年月日摘要摘要cnChess是运行在Android平台上的一款支持双人联网对局、即时聊天、对弈记录的休闲棋牌类手机游戏。

系统采用面向对象的编程思想进行构思与分析设计;使用UML构建软件模型;使用MVC架构模式实现系统的整体架构及各模块之间的接口设计;在系统的实践过程中还采用了部分GoF的设计模式进行编码与开发。

本文详细系统地阐述了在Android平台上,应用MVC分层架构模式及面向对象的软件开发思想对cnChess游戏系统的分析、设计及实现过程。

在项目的实践过程中,主要用到了以下技术:手机布局主要使用了XML设计,程序及其子模块的生命周期管理用到了Activity流程控制,数据储存方面使用的是轻量级数据库SQLite、网络通讯部分使用的是XMPP即时通讯协议进行数据的传输、对弈的画面更新使用的是手机的2D图形编程。

本论文的前半部分将简要介绍系统相关的行业信息及基础的技术知识,后半部分将对本人在系统各模块中所使用的关键技术的实现进行了全面的介绍。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能中国象棋系统的设计与实现摘要人工智能(AI)中国象棋系统是将计算机知识和中国象棋知识结合起来的一种新型的游戏方式。

智能中国象棋系统在此基础上实现人与机器的对弈,突破了以往传统象棋游戏只能人与人对战的限制,使中国象棋这一古老的游戏形式焕发出蓬勃朝气。

本文结合在中国象棋机器博弈方面的实践经验,在分析了中国象棋游戏需求基础上,设计并实现了智能中国象棋系统。

该系统包括人人对战、人机对战、制作棋谱、播放棋谱以及挑战英雄榜等功能模块。

人人对战规则明确,包含了中国象棋所有的着法;人机对战中电脑棋力分为简单、中等、困难三个等级,方便了不同水平人群的选择;制作和播放棋谱模块容易操作,方便学习;挑战英雄榜则为象棋游戏增加了乐趣。

本系统的实现满足了人们对中国象棋的基本需求,解决了传统象棋游戏学习性差、棋谱不易保存、不易演示等问题。

关键词:计算机博弈,中国象棋,人机对战,制作棋谱,搜索算法Intelligent Chinese Chess System Design and ImplementationAbstractArtificial Intelligence (AI) Chinese Chess System is a new games’ way which combines with computer knowledge and Chinese Chess knowledge.Intelligent Chinese Chess System on the basis of it which completes the game between human and computer , breaking the traditional chess game’s restriction that only can play against people. So that the ancient game of Chinese chess become prosperity .With the practical experience in Chinese chess computer game,a detailed analysis and research has been done .Based on those, I designed and implemented the Intelligent Chinese Chess System .This system includes the game against human ,the gme between computer and human ,make chess manual ,play chess manual and hero list functions .The game against human function has all the Chinese Chess rules and they are very clear.In the game between computer and human function ,computer thinking depth is divided into simple,medium and difficulty.It facilitate the choice of different levels. Making and playing chess manual fuctions are easy to operating and learning. Hero list fuction adds much fun to chess game.This system satisfied the basic demand of people to Chinese chess and solved the studying hard and the theoretical is not easy to making and playing of the traditional chess game.Key Words:Computer Game, Chinese Chess,Game between Human and Computer, Make Chess Manual, Search Tecniques目录1 绪论 (2)1.1选题的背景和意义 (2)1.2发展动态及研究现状 (2)1.3系统概述 (3)1.4本文的主要工作 (4)1.5论文结构 (5)2 系统的分析和设计 (5)2.1数据结构(DATA STRUCTURE) (5)2.1.1 棋盘的基本表示法(Board Representions) (6)2.2着法生成(MOVE GENERATION) (8)2.2.1 模板匹配法 (8)2.2.2 预置表法 (8)2.3局面评估 (9)2.3.1 估值函数(Evaluation Function) (9)2.3.2 估值的速度与博弈性能 (11)2.3.3 估值函数的优化 (11)2.4博弈树搜索技术 (13)2.4.1 基本搜索算法 (13)2.4.2 高级搜索算法 (16)2.5开局库设计 (17)2.5.1 开局库的作用 (17)2.5.2 实现开局库的主要方法 (17)3 系统的实现 (19)3.1系统的整体规划 (19)3.2象棋界面的实现 (20)3.3对弈功能的实现 (24)3.4制作和演示棋谱的实现 (28)3.5象棋英雄榜的实现 (32)3.6开局库的实现 (32)3.7程序说明 (33)3.8实验结果及分析 (33)结论... .. (35)致谢 (37)参考文献 (38)附录 (39)附录A:A INTRODUCTION ABOUT CHINESE CHESSA (39)附录B:关于中国象棋的一些简要介绍 (42)1 绪论1.1选题的背景和意义在人类文明发展的初期,人们便开始进行棋类博弈的游戏了。

近几十年来,随着计算机硬件和软件技术的不断发展,人们开始对计算机能否战胜人脑这个话题产生了浓厚的兴趣。

从1980开始,电脑博弈便开始逐渐大规模地向人类智能发起了挑战,到了1997年,IBM超级电脑Deeper Blue 击败了当时的国际象棋冠军卡斯帕罗夫,成为了人工智能挑战人类智能发展的一个重要里程碑。

许多学者认为,对于人工智能研究而言,象棋的重要作用不亚于遗传学研究中的果蝇。

人类对机器博弈的研究衍生了大量的研究成果,这些成果对更广泛的领域产生了重要影响。

人工智能的先驱们曾认真的表明:如果能掌握下棋的本质,也许就掌握了人类智能行为的核心;那些能够存在于下棋活动中的重大原则,或许就存在于其它任何需要人类智能的活动中。

因此对于中国象棋人机博弈问题的研究意义重大。

而当今对中国象棋的研究也正如专家们所期望的那样在蓬勃地发展着。

中国象棋不仅是中国传统智慧的体现,同时也具有着比国际象棋更高的复杂度,如何让机器具有智能,与人进行对弈成了本课题研究的一个重要问题。

通过本课题的研究,掌握智能知识的表示与计算、搜索,不仅是对所学知识的锻炼,更是在人工智能领域的有意义的探索1.2发展动态及研究现状和国际象棋博弈系统相比,中国象棋博弈系统的研究起步比较晚,是八十年代开始的。

在这个时候计算机国际象棋取得重大突破,1983年美国贝尔公司的电脑参加美国人类比赛,取得了不错的成绩,被授予大师称号。

于是有专家学者想如何将国际象棋电脑技术移植到中国象棋上来,以带动中国象棋电脑较快的发展;同时中国象棋从技术研究进入理论研究,有关开局、中局、残局理论以及象棋对策相继建立起来,为中国象棋计算机博弈提供了理论基础。

1981年张耀腾发表的《人造智慧在电脑象棋上的应用》,他提出审局函数为静态子力值,棋子位置值,棋子灵活度值,威胁与保护等四项之和。

但该文主要以残局做实验,缺乏完整对局的考虑。

1982年廖嘉成发表的《利用计算机象棋的实验》就进了一步,包括开局、中局、残局。

1983年黄少龙、周玉龙合作制成《象棋排局系列软盘》专家系统与人对弈。

到了90年代,中国象棋计算机博弈的应用开始发展起来,人们研究出了各种博弈软件。

比较著名的软件有台湾的吴身润的《中国象棋》、光谱公司出品的《将族Ⅲ》、晟业编制的《象棋水浒战》、《象棋武林帖》。

而且涉足这个领域比较早的是台湾的一些专家学者。

近几年,在内地也涌现出一批对中国象棋人机博弈问题感兴趣的高校、单位及个人,而且进入21世纪以后,中国象棋计算机博弈的研究受到越来越多的学者的关注,比较著名的博弈软件如表1所示。

表1-1著名中国象棋计算机博弈程序程序作者地区纵马奔流涂志坚广州中山大学谢谢象棋大师法国电脑公司法国ELP 郑武尧、陈志吕台湾SHIGA(象棋世家)郑明政、颜士净台湾SHCC(神乎棋技)SAI team美国Cyclone(象棋旋风)陈朝阳北京CONTEMPLATION千虑陈志昌、许舜钦台湾棋天大圣王骄东北大学象棋奇兵赵明阳中国每年也会有中国象棋计算机博弈的国际奥林匹克大赛,这其中有2003年的世界冠军“纵马奔流”,2004年的世界冠军“谢谢象棋大师”,2005年的世界冠军“象棋奇兵”,2006、2007年的世界冠军“棋天大圣”,2008年的世界冠军“倚天”。

这些都体现了中国象棋的人机博弈的研究的受关注程度;虽然如此,但中国象棋的人机博弈的研究比国际象棋还是晚了几十年,并且在搜索算法等方面的研究还与国际象棋相距甚远。

1.3系统概述1、棋盘表示(Board Representations)棋盘表示就是使用一种数据结构来描述棋盘及棋盘上的棋子,以方便计算机处理。

中国象棋的棋盘表示还没有形成统一的或者公认的哪种为最佳的数据格式。

最直观也是最典型的方式是使用10x9的二维棋盘数组表示,也有使用棋子数组,扩展棋盘—棋子数组等,棋盘的数据表示直接影响到程序的时间及空间复杂度。

2、着法生成(Move Generation)着法生成就是找到某个局面所有合法的走法。

它与棋盘表示的数据结构密切相关,一般需要大量繁琐的判断,伴随着搜索进行,并且调用频繁,是相当复杂而且耗费运算时间。

在一定程度上形成了程序的性能瓶颈。

当前为了提高着法生成的效率通常采用以空间换时间的方法:与先求出棋子的在某位置的所有走法。

3、评估函数(Evaluation Function)评估函数就是对博弈过程中实际局面的好坏做出判断或打分,它影响着博弈局发展的趋势。

目前象棋程序的静态评价函数主要有子力价值,子力灵活性,子力对棋盘的控制,和一些对棋局影响比较大的重要特征计算几部分组成。

相关文档
最新文档