计算机毕业论文|计算机论文|计算机毕业设计|计算机网络论文  
设为首页 加入收藏 联系站长
论文无忧网|专业的计算机论文、计算机毕业论文服务网站
计算机毕业设计 计算机毕业论文 计算机论文 管理系统 工资 在线选课 图书
当前位置:计算机毕业论文网 >> VC论文设计 >> 浏览文章
VC中国象棋游戏系统

【说明】本站所列作品的内容只是论文的部分介绍,如果想了解此作品的详细资料,请联系在线客服。
全套设计作品包括系统+源程序+论文+开题报告+使用手册,可以直接作为毕业设计/论文使用.
本站作品全部经过技术员测试,完整无错,大家可以放心参考使用。包调试,包指导,售后全部免费,直到您通过答辩为止。
现成作品的购买流程请参照:购买现成作品流程 网站介绍 常见问题解答

 

一、前

 

我们的目标是实现一款有着一定下棋水平且交互友好的中国象棋人机对弈程序。

该程序功能包括:

*人机对弈;

*盲棋模式;

(注:此功能为创新功能)

*搜索深度设定;

(电脑棋力选择)

*棋子、棋盘样式选择;

*悔棋、还原;

*着法名称显示;

*下棋双方计时;

 

整个程序的实现可分为两大部分:

一、人工智能部分(计算机下棋引擎)

该部分实现了如何让计算机下中国象棋,其中涉及人机博弈的基本理论及思想,是该程序的核心部分,同时也是本项目研究的重点所在。

二、界面及程序辅助部分

光有下棋引擎尚不能满足人机交互的基本要求,因此我们还需要一个框架(界面)来作为引擎的载体,同时提供一些诸如悔棋,计时之类的附属功能(程序辅助)来为程序增色添彩。

 

下面分别介绍各部分实现。由于界面及程序辅助部分涉及内容宽泛而又繁琐,因而本文只介绍其中重点部分以及我们在开发过程中曾经遇到过困难的地方。

 

二、人工智能部分(计算机下棋引擎)

 

1、概

 

程序的基本框架:

从程序的结构上讲,大体上可以将引擎部分划分为四大块:

棋局表示;

着法生成;

搜索算法;

局面评估。

 

程序的大概的思想是:

首先使用一个数据结构来描述棋局信息,对某一特定的棋局信息由着法生成器生成当前下棋方所有合法的着法并依次存入着法队列。然后通过搜索算法来逐一读取着法并调用局面评估函数对该着法所产生的后继局面进行评估打分,从中选出一个最有可能导致走棋方取胜的着法。在搜索的过程中还可以采用一些辅助手段来提高搜索的效率。其过程如下图所示:

下面将分别介绍各个部分。

 

 

2、棋局表示

 

计算机下棋的前提是要让计算机读懂象棋。所谓读懂,即计算机应该能够清楚地了解到棋盘上的局面(棋盘上棋子的分布情况)以及下棋方所走的每一种着法。因而首先我们需要有一套数据结构来表示棋盘上的局面以及着法。

对于棋盘局面的表示我们采用了最传统的同时也是最为简单的“棋盘数组”。即用一个9*10的数组来存储棋盘上的信息,数组的每个元素存储棋盘上相应位置是何种棋子。这种表示方法简单易行(缺点是效率不是很高)。按此方法棋盘的初始情形如下所示:

BYTE CChessBoard[9][10] = {

R,  0,  0,  P,  0,  0,  p,  0,  0,  r,

H,  0,  C,  0,  0,  0,  0,  c,  0,  h,

E,  0,  0,  P,  0,  0,  p,  0,  0,  e,

A,  0,  0,  0,  0,  0,  0,  0,  0,  a,

K,  0,  0,  P,  0,  0,  p,  0,  0,  k,

A,  0,  0,  0,  0,  0,  0,  0,  0,  a,

E,  0,  0,  P,  0,  0,  p,  0,  0,  e,

H,  0,  C,  0,  0,  0,  0,  c,  0,  h,

R,  0,  0,  P,  0,  0,  p,  0,  0,  r

};

其中“0表示无棋子,大写字母表示红方棋子,小写字母表示黑方棋子(所有这些大小写字母都是用宏定义的整数)。具体如下:

R”表示红车;“H”表示红马;“E”表示红相;“A”表示红仕;“K”表示红帅;“C”表示红炮;“P”表示红兵。

r”表示黑车;“h”表示黑马;“e”表示黑象;“a”表示黑士;“k”表示黑将;“c”表示黑炮;“p”表示黑卒。

此外这个数组也表明了我们对棋盘进行了如右图所示的编号,并约定红方棋子总处于棋盘的下方。

 

对于着法的表示,我们直接借用棋盘数组的下标来记录着法的起点和目标点。至于是什么棋子在走,以及是否吃子、吃的是什么子,我们在着法结构中并不记录。这些信息由外部读取棋盘上起点、终点的数据获得。着法结构定义如下,其中还包含了对着法的历史得分的记录项,以供后面要讲到的“历史启发”所用。

 
上一篇: VC题库管理系统全套
下一篇: VC局域网的数据包监听及数据分析
在线客服  
点击这里给我发消息 点击这里给我发消息
点击这里给我发消息 点击这里给我发消息
QQ:528311109 QQ:528311109
  服务邮箱:Service@paper51.com
热门浏览
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
最近更新  
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 在线留言 | 网站地图
Copyright 2006-2008 Powered by Paper51.com,论文无忧网 All Rights Reserved.
声明:《论文无忧网》,根据《信息网络传播权保护条例》,如果我们网站上的的作品侵犯了您的权利,请及时通知我们,我们会及时删除。
《论文无忧网》为您提供优秀的计算机毕业设计|计算机毕业论文|计算机论文|毕业论文等资料,仅供学习参考使用。