基于java语言的中国象棋设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:基于JA V A语言的中国象棋设计与实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:
指导教师签名:日期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:
【摘要】
电脑在中国象棋上的运用还刚刚起步,尽管国内涌现出一大批中国象棋的专业网站和专业软件,但是由于缺乏必要的基础工作,电脑技术在中国象棋上的应用优势还无法体现出来,随着人工智能及计算机硬件的发展,计算机象棋程序的水平也不断地得到提高。
本文通过研究中国象棋的国内外研究现状、分析中国象棋的需求和用JA V A 语言设计中国象棋程序的可行性,同时根据国际象棋程序设计的一些成功经验,主要借鉴了位棋盘、Zobrist键值等,针对中国象棋程序设计的一系列问题,总结出一些中国象棋程序的设计方法。根据该方法设计出了符合中国象棋行棋和吃子规则,能够判断胜负,能够实现悔棋、重新开始等多种功能,而且界面十分美观的中国象棋程序,并给出了JA V A语言的实现方法。
关键词:中国象棋,位棋盘,Zobrist键值,着发生成
【Abstract】
The implement of playing Chinese Chess on computer has just started. Although large numbers of professional websites and professional chess software arised in domestic, the lack of necessary basic work causes the advantage of computer technology applications in Chinese chess can’t be reflected. With the development of artificial intelligence and computer hardware, the level of computer chess program continues to be improved.
This paper studies the research status of Chinese chess, analyzes the demand of Chinese chess, and learns the feasibility of Chinese chess that is designed by Java language. At the same time, the function is designed with the successful experience of chess program, such as the place board, Zobrist keys, etc. Chinese chess program is summarized some ways to design Chinese chess program for solve a range of issues. Follow this ways, it designs all the rules and funtions which adapt to the requirement of Chinese chess, including of movement, judgement, undo, re-start and so on.The application gives the implementation method in JA V A language and beautiful interface.
Keywords: Chinese Chess, bit board, zobrist keys
目录
1绪论 (1)
1.1研究背景 (1)
1.2研究意义 (1)
1.3预期目标 (1)
2分析 (3)
2.1需求分析 (3)
2.2可行性分析 (3)
2.3功能分析 (3)
2.4硬件环境 (4)
2.4.1开发环境 (4)
2.4.2运行环境 (4)
3界面设计框架 (5)
3.1程序的框架 (5)
3.2.基本数据结构——位棋盘 (5)
3.2.1 什么是位棋盘 (5)
3.2.2 位棋盘的作用 (6)
3.2.3 位棋盘的基本运算 (6)
3.2.4 Java中位棋盘的实现 (6)
3.3.基本数据结构——Zobrist键值 (9)
3.3.1 比较局面的方法 (9)
3.3.2 Zobrist键值的工作原理 (9)
3.3.3 Zobrist键值的实现方法 (10)
3.3.4 Java中实现Zobrist键值 (10)
4系统实现 (12)
4.1着法生成 (12)
4.1.1伪合法着法的生成 (12)
4.1.2 合法着法的生成 (17)
4.2算法实现 (20)
4.2.1 行棋规则算法实现 (20)
4.2.2界面功能算法实现 (23)
5结论 (26)
参考文献 (27)