基于QT的中国象棋设计与实现答辩.pptVIP

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

基于QT中国象棋游戏的设计与实现 1.引言 1.1象棋游戏设计目的与意义 棋牌游戏属于休闲类游戏,相对于角色扮演类游戏和即时战略类游戏等其他游戏,具有上手快、游戏时间短的特点,更利于用户进行放松休闲。作为中华民族悠久文化的代表之一,中国象棋不仅源远流长,而且基础广泛,作为一项智力运动,中国象棋开始走向世界。 1.2象棋的研究方法: 本设计在linux平台操作与开发。 对于象棋来说,核心设计主要包括人工智能算法、整个游戏界面及程序辅助部分的实现。主要用QT开发,使游戏开发更加方便,并利用人工智能相关搜索算法实现人工智能的着法生产,从而完成整个游戏的功能。 本设计目 标 实现中国象棋人机对弈程序。 该程序功能包括:人机对弈; 人人对弈(不过在同一个平台上); 搜索算法的设定; 悔棋、还原; 整个程序实现为两大部分: 一、人工智能算法设计 该部分实现了如何让计算机下中国象棋,其中涉及人机对弈的基本理论及思想,是该本设计的核心部分。 二、界面及程序辅助设计 在下棋引擎尚不能满足人机交互的基本要求,因此还需要一个界面来作为引擎的载体,同时提供一些诸如悔棋,还原之类的辅助功能。 下面分别介绍各个部分实现。由于界面及程序辅助部分涉及内容宽泛而有繁琐,因而本文只介绍其中重点部分。 2 概述 2.1 QT简介 Qt是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt、基于FrameBuffer的Qtopia Core、快速开发工具Qt Designer和国际化工具Qt Linguist等部分。Qt支持所有的UNIX系统,当然也包括Linux系统,还支持WinNT/Win2k、Windows 95/98平台。 基本上Qt同X-Window上的Motif、Openwin、GTK等图形界面库和Windows平台上的MFC、OWL、VCL、ATL是同类型的。不过Qt还具有下列一些优点。 (1)优良的跨平台特性。 Qt支持下列操作系统:Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX、Digital UNIX (OSF/1、Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390和QNX等。 (2)面向对象。 Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。 (3)丰富的API。 Qt包括多达250个以上的C++类,还提供基于模板的collections、serialization、file、I/O device、directory management和date/time类。甚至还包括正则表达式的处理功能 (4)支持2D/3D图形渲染,支持OpenGL。 (5)大量的开发文档。 (6)XML支持。 2.2 Linux操作系统简介 Linux是一种自由和开放源码的类Unix操作系统。 Linux操作系统是Nuix操作系统的一种克隆系统。它诞生于1991 年的10 月5 日以后借助于Internet 网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。  Linux 操作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:UNIX 操作系统、MI操作系统、GNU 计划、POSIX 标准和Internet 网络。 目前,Linux的发行版有很多,如Ubuntu,RedHat,Debian,Fedora等等。 3 人工智能算法设计 程序的基本框架: 从程序的结构上讲,大体上分为四大块: 棋局表示; 着法生成; 搜索算法; 局面评估; 程序的大概的思想是: 首先使用一个数据数据结构来描述棋局信息,对某一特定的棋局信息由着法生产器生产当前下棋方所有合法的着法并依次存入着法队列。然后通过搜索算法来逐一读取着法并调用局面估值函数对该着法所生产的后继局面进行评估打分,从中选出一个最有可能导致棋方取胜的着法。在搜索的过程中还可以采用一些辅助手段来提高搜索的效率。其过程如下所示(图1): 3.1 棋局表示 对于棋盘局面的表示可采用传统而简单的“棋盘数组”。即用一个10*9的数组来存储棋盘上的信息,数组每个元素储存棋盘上是否有棋子。这种表示方法简单

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档