1.很直观地去看这个中国象棋的界面,数一下它有多少行和多少列.
10行,9列:要注意这里数的是安放象棋的位置,有10行9列
这里我们首先想到的必然是二维数组,每一个行列交叉的点都设置成二维数组a[i][j]这样的格式,以此来确定棋盘上面每一个棋子的位置和走向.
我们把上面安放棋子的二维数组定义成一个地图,也就是map[i][j]的格式,但同时要注意,每一个象棋棋子都有行,列,颜色,是否过河和名称(也就是什么棋子)几种定义区分.
那么这里我们就需要把棋子定义成一个结构.如下:
struct Chesscoordinate//棋子综合信息
{
int x;
int y;
DWORD type; //颜色
bool river;//是否过河
int id;
};
当定义了棋子综合信息,我们是不是需要每一个信息都拓展一下?
x代表的是在棋盘上面的列,也就是竖行,y代表的是棋子在棋盘上面的行,也就是横线,而type代表的棋子的颜色,棋子颜色可以分为黑色和红色两种;river设置成bool型的,只需要判断棋子是否过河就可以了.最后id定义的是棋子上面的名称,比如将,帅等.
接下来我们就来VS当中进行棋子的程序定义拓展:
#define distance 35//窗口线与棋盘边界线的距离
#define longth 65//棋盘方格的长
#define
版权声明:本文为m0_68539124原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。