⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chessdef.h

📁 算法比较复杂的人机像棋,运行速度也是非常之块的。
💻 H
字号:
#if !defined (CCT_CHESSCHESS_DEF)
#define CCT_CHESSCHESS_DEF

#define FALSE	0
#define TRUE	1
#define RED		0
#define	BLA		1
#define	XX		38
#define	YY		38
#define	RED_K	1	//红帅
#define	RED_S	2	//红士
#define	RED_X	3	//红相
#define	RED_M	4	//红马
#define	RED_J	5	//红车
#define	RED_P	6	//红炮
#define	RED_B	7	//红兵

#define	BLA_K	8	//黑帅
#define	BLA_S	9	//黑士
#define	BLA_X	10	//黑相
#define	BLA_M	11	//黑马
#define	BLA_J	12	//黑车
#define	BLA_P	13	//黑炮
#define	BLA_B	14	//黑兵



const	int	CHESSPOS[10][9] = 
{
	{BLA_J, BLA_M, BLA_X, BLA_S, BLA_K, BLA_S, BLA_X, BLA_M, BLA_J},
	{0, 0, 0, 0, 0, 0, 0, 0, 0},
	{0, BLA_P, 0, 0, 0, 0, 0, BLA_P, 0},
	{BLA_B, 0, BLA_B, 0, BLA_B, 0, BLA_B, 0, BLA_B},
	{0, 0, 0, 0, 0, 0, 0, 0, 0},
	{0, 0, 0, 0, 0, 0, 0, 0, 0},
	{RED_B, 0, RED_B, 0, RED_B, 0, RED_B, 0, RED_B},
	{0, RED_P, 0, 0, 0, 0, 0, RED_P,0},
	{0, 0, 0, 0, 0, 0, 0, 0, 0},
	{RED_J, RED_M, RED_X, RED_S, RED_K, RED_S, RED_X, RED_M, RED_J}
};



/*
const	int	CHESSPOS[10][9] = 
{
	{0,    0,    0,BLA_K,    0,    0,    0,    0,    0},
	{0,    0,    0,    0,    0,    0,    0,    0,    0},
	{0,    0,    0,    0,    0,    0,    0,    0,    0},
	{0,    0,    0,    0,    0,    0,    0,    0,    0},
	{0,    0,    0,    0,    0,    0,    0,    0,    0},
	{0,    0,    0,    0,    0,    0,    0,    0,    0},
	{0,    0,    0,BLA_S,BLA_S,    0,    0,    0,RED_B},
	{0,    0,    0,    0,    0,RED_K,    0,    0,    0},
	{0,    0,BLA_S,BLA_J,BLA_J,    0,BLA_S,    0,    0},
	{0,    0,    0,BLA_S,BLA_S,    0,    0,    0,    0}
};
*/


/*车位置值表*/
const int J_VALU[10][9] = 
{ 
	{ -26, 128,  76, 180, 154, 180,  76, 128, -26 },
	{ 102,  52, 102, 204, 102, 204, 102,  52, 102 },
	{ 52 , 102,  76, 180, 154, 180,  76, 102,  52 },
	{ 76 , 128, 102, 180, 180, 180, 102, 128,  76 },
	{ 154, 204, 180, 256, 256, 256, 180, 204, 154 },
	{ 154, 180, 154, 230, 230, 230, 154, 180, 154 },
	{ 154, 230, 204, 282, 282, 282, 204, 230, 154 },
	{ 154, 154, 154, 230, 230, 230, 154, 154, 154 },
	{ 204, 256, 230, 308, 332, 308, 230, 256, 204 },
    { 180, 180, 154, 230, 204, 230, 154, 180, 180 }
};

 /*马位置值表*/
const int M_VALU[10][9] = 
{ 
	{   0, -52,   0,   0,   0,   0,   0, -52,   0 },
	{   0,  26,  52,  52, -26,  52,  52,  26,   0 },
	{  52,  26, 102, 102,  52, 102, 102,  26,  52 },
	{  26,  76, 102,  76, 128,  76, 102,  76,  26 },
	{  52, 154, 204, 180, 154, 180, 204, 154,  52 },
	{  76, 204, 180, 230, 204, 230, 180, 204,  76 },
	{ 102, 308, 230, 308, 256, 308, 230, 308, 102 },
	{ 154, 180, 204, 256, 230, 256, 204, 180, 154 },
	{  52, 128, 358, 204, 102, 204, 358, 128,  52 },
    {  52, 102, 204, 154,  52, 154, 204, 102,  52 }
};

 /*炮位置值表*/
const int P_VALU[10][9] = 
{ 
	{   0,   0,  26,  76,  76,  76,  26,   0,   0 },
	{   0,  26,  52,  76,  76,  76,  52,  26,   0 },
	{  52,   0, 102,  76, 128,  76, 102,   0,  52 },
	{   0,   0,   0,  26,  52,  26,   0,   0,   0 },
	{ -26,   0,  52,  26,  76,  26,  52,   0, -26 },
	{   0,   0,   0,  26, 102,  26,   0,   0,   0 },
	{   0,   0, -26,  52, 128,  52, -26,   0,   0 },
	{  26,  26,   0,-128,-102,-128,   0,  26,  26 },
	{  26,  26,   0, -52,-180, -52,   0,  26,  26 },
    {  76,  52,   0,-128,-154,-128,   0,  52,  76 }
};

/*兵位置值表*/
const int B_VALU[10][9] = 
{  
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0, -26,   0,  52,   0, -26,  0,   0 },
	{  26,   0, 102,   0, 102,   0, 102,  0,  26 },
	{  76, 154, 230, 230, 256, 230, 230, 154, 76 },
	{ 128, 256, 384, 435, 512, 435, 384, 256, 128 },
	{ 180, 332, 538, 768,1024, 768, 538, 332, 180 },
	{ 230, 460, 716,1024,1536,1024, 716, 460, 230 },
	{   0,  38,  76, 115, 154, 115,  76,  38,  0}
};

/*士的位置表*/
const int S_VALU[10][9] = 
{
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   1,   0,   0,  0,   0 },
	{   0,   0,   0,  -1,   0,  -1,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
};

const int X_VALU[10][9] = 
{
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{  -1,   0,   0,   0,   3,   0,   0,  0,  -1 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,  -2,   0,   0,   0,  -2,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
};

const int K_VALU[10][9] = 
{
	{   0,   0,   0, -25,   0, -25,   0,  0,   0 },
	{   0,   0,   0,-100, -50,-100,   0,  0,   0 },
	{   0,   0,   0,-150,-200,-150,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
	{   0,   0,   0,   0,   0,   0,   0,  0,   0 },
};

const int CHESSSCORE[16] = {0,1000000,320,320,640,1440,690,160,1000000,320,320,640,1440,690,160};

struct	POSINFO
{
	int		srcRow;  
	int		srcCol;
	int		desRow;
	int		desCol;
	int		Color;
	int		ChessPos;
	int		Choise;
	int		Icon;
	int		eat;
	POSINFO	*next;
};

const char CHESSNAME[15][3]={"","帅","仕","相","马","车","炮","兵","将","士","象","马","车","炮","卒"};
const char ORDER[2][9][3]=
{
	{"九","八","七","六","五","四","三","二","一"},
	{"1","2","3","4","5","6","7","8","9"},
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -