vc339中国象棋游戏的设计.doc

vc339中国象棋游戏的设计.doc

ID:18349953

大小:393.50 KB

页数:11页

时间:2018-09-16

vc339中国象棋游戏的设计.doc_第1页
vc339中国象棋游戏的设计.doc_第2页
vc339中国象棋游戏的设计.doc_第3页
vc339中国象棋游戏的设计.doc_第4页
vc339中国象棋游戏的设计.doc_第5页
资源描述:

《vc339中国象棋游戏的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VC339中国象棋游戏的设计

2.1 棋局表示
计算机下棋的前提是要让计算机读懂象棋。所谓读懂,即计算机应该能够清楚地了解到棋盘上的局面(棋盘上棋子的分布情况)以及下棋方所走的每一种着法。因而首先需要设计一套数据结构来表示棋盘上的局面以及着法。
对于棋盘局面的表示可采用传统而简单的“棋盘数组”。即用一个9*10的数组来存储棋盘上的信息,数组的每个元素存储棋盘上是否有棋子。这种表示方法简单易行(缺点是效率不是很高)。按此方法棋盘的初始情形如下所示:
BYTECChessBoard[9][10]={
R, 0,

2、 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, 

3、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, 

4、0, 0, 0, 0, c, 0, h,
R, 0, 0, P, 0, 0, p, 0, 0, r
};
给所有棋子定义一个值:
#defineR_BEGIN   R_KING
#defineR_END     R_PAWN
#defineB_BEGIN   B_

5、KING
#defineB_END     B_PAWN
#defineNOCHESS   0   //没有棋子
黑方:#defineB_KING   1//黑帅
#defineB_CAR   2//黑车
#defineB_HORSE   3//黑马
#defineB_CANON   4//黑

6、炮
#defineB_BISHOP  5//黑士
#defineB_ELEPHANT6//黑象
#defineB_PAWN    7//黑卒
红方:#defineR_KING   8//红将
#defineR_CAR     9//红车
#defineR_HORSE   10//红马
#defineR_CANON   

7、;11//红炮
#defineR_BISHOP  12//红士
#defineR_ELEPHANT13//红相
#defineR_PAWN    14//红兵
判断颜色:
#defineIsBlack(x)(x>=B_BEGIN&&x<=B_END)//判断某个棋子是不
是黑色
#defineIsRed(x)  (x>=R_BEGIN&&x<=R_END)//判断某个棋子是不

8、R>是红色
对于着法的表示,直接借用棋盘数组的下标来记录着法的起点和目标点

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。