(学士)学位论文基于qt的中国象棋算法设计与实现论文.docVIP

(学士)学位论文基于qt的中国象棋算法设计与实现论文.doc

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(学士)学位论文基于qt的中国象棋算法设计与实现论文

基于QT的中国象棋算法设计与实现 摘 要 中国象棋发展至今已有数千年的历史了,它是中华民族智慧的结晶。在我国,中国象棋的普及程度是其它棋类无法比拟的,大至国际、国内比赛,小至社区街道。 本文章在研究分析对局树的基础上,先后运用极大极小查找和α-β修剪对查找下一步的算法进行了改进,并对中国象棋的对弈过程进行了有益的探讨。 最后在此基础上,运用面向对象的技术,综合结构化程序设计方法,将所有的操作逻辑封装于类,实现基于对局树算法的中国象棋游戏系统。With the implementation of Chinese chess algorithm design based on QT Abstract Chinese chess development has been several thousand years of history, and it is the wisdom of the Chinese nation. In China, the popularity of Chinese chess board is unmatched by other large to international and domestic competitions, small community streets。 This article is based on research and analysis on the game tree, has to find and use Minimax α-β pruning algorithm for finding the next improvement, the process of Chinese chess and chess for a useful discussion. Finally, on this basis, the use of object-oriented technology, integrated structured programming method, all of the operating logic encapsulated in a class-based system to achieve Chinese chess game game tree algorithm. The system uses QT development tools to achieve human-computer chess and Chinese chess program that has a double battle of chess. Key words: Chinese chess; artificial intelligence;game tree;Alpha-Beta search 目 录 摘 要 i Abstract ii Evaluation Function) 11 3.2.1 估值函数简介 11 3.2.2 估值函数的优化 12 3.2.3 着法排序 13 3.3 局面评估 16 4 走棋程序的实现 20 4.1 悔棋和还原功能的实现 20 4.2 着法名称显示功能的实现 22 4.3 主要函数 26 4.4 将军检测 30 5 系统实现 31 5.1 系统的整体规划 31 5.2 对弈功能的实现 32 总 结 38 参考文献 39 致 谢 40 外文原文 41 中文翻译 48 1 绪论 1.1 中国象棋游戏设计背景和研究意义国内外象棋软件发展概况 中国象棋游戏设计研究方法本文的主要工作棋盘和棋子的表示 从棋子的角度考虑,如果把棋盘看成是一个平面坐标系,可以知道每一个棋子的位置信息:小于10的横坐标和小于11的纵坐标;又在棋盘上最多32个棋子,故可以用一个32个字节的一维数组表示所有32个棋子的位置,其中每个字节的高4位表示该棋子的横坐标,低4位表示棋子的纵坐标。而己被吃掉的棋子用坐标范围以外的数表示。这样棋盘信息就被装入这32个字节中。当然也可以把棋盘看作一维的,每个元素保存直接的位置信息。 两种棋盘表示方法:一是做一个棋盘数组;二是做一个棋子数组。棋盘数组中由棋子的位置获得棋子的类型可以在常数时间内完成,但由棋子的类型获得棋子的位置需要遍历;在棋子数组中由棋子的类型获得棋子的位置可以在常数时间内完成,但由棋子的位置获得棋子的类型操作繁琐。如果一个程序同时使用这两个数组,那么获得棋子的类型和棋子的位置都可以在常数时间内完成。这就是“棋盘·棋子联系数组”,它的技术要点是: (1) 同时用棋盘数组和棋子数组表示一个局面,棋盘数组和棋子数组之间可以互相转换。 (2) 随时保持这两个数组之间的联系,棋子移动时必

您可能关注的文档

文档评论(0)

海纳百川 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档