【原创】2015.12.16版本【国际象棋】

版本须知: 一、发布博客第三版 二、新增打印棋谱(简易版) 三、1122行的程序(很吉利啊)

/*
NAME:INTERNATIONAL CHESS(国际象棋)
BEGIN:2015.11.28
DONE:2015.12.14
MAKER:Durant Lee
HELPER:PETER DU
DAVID WEN

RULES:
点击第一次选中棋子
点击第二次选择移动位置
选择错误可点击棋盘外任意点
直至屏幕闪动
如果出现点了移动不了请再试一次
还是不行则点棋盘任意一个地方
多点几次
看到屏幕闪动再选棋子移动

白升变输入Q/R/B/N
黑升变输入q/r/b/n

悔棋请双击|悔棋|键
在棋盘右边
请注意当前到哪方行棋
支持悔棋10000步(我相信不会有那么多)

PASS:
没有“吃过路兵”规则
结束后会打印简易棋谱

如有特殊问题恕不负责

玩得开心
*/

//======================================头文件=========================================//
#include
#include
#include
#include
#include
//======================================头文件========================================//

using namespace std;

//===================================获取鼠标函数======================================//
HANDLE hInput; /* 获取标准输入设备句柄 */
INPUT_RECORD inRec;/* 返回数据记录 */
DWORD numRead; /* 返回已读取的记录数 */
int Y, X; /* X和Y的坐标 */

int input()
{
while(1)
{
COORD pos = {0, 0};
ReadConsoleInput(hInput, &inRec, 1, &numRead);
pos = inRec.Event.MouseEvent.dwMousePosition;
Y = (int)pos.Y;
X = (int)pos.X;
if(inRec.EventType == MOUSE_EVENT && inRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) /* 鼠标左键单击 */
{
// cout< break;
}
}
}

void HideCursor()//隐藏控制台的光标
{
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
//===================================获取鼠标函数======================================//

//======================================变量库=========================================//
char chessnow[10][10],chessold[10][10],chesstw[10][10],chesstb[10][10],chessttw[10][10],chessttb[10][10];
char chess[10001][10][10];
int ha[]={1,2,2,1,-1,-2,-2,-1},hb[]={-2,-1,1,2,2,1,-1,-2};
int ka[]={-1,-1,0,1,1,1,0,-1},kb[]={0,1,1,1,0,-1,-1,-1};
int x,y,x2,y2;
bool use[9][9];
bool flag,flag2,flagc,huiqi;
bool wshort,wlong,blong,bshort;
char change;
string st=" abcdefgh";
char stw[10000][6],stb[10000][6];
int sw,sb;

//======================================变量库=========================================//

//======================================函数库=========================================//

//基本设置//
void sett();
void make();
void print();
//基本设置//

//判断//
bool checkw();
bool checkb();
//判断//

//操作//
bool movew();
bool whitelong();
bool whiteshort();
bool changew();
bool moveb();
bool blacklong();
bool blackshort();
bool changeb();
//操作//

//特殊操作//
void zuobiao();
void zuobiao2();
void _oldw();
void _oldb();
void _addw();
void _addb();
//特殊操作//

//======================================函数库=========================================//

//======================================主程序=========================================//
int main()
{
make();
sett();//初始化
while(true)
{
printf("TURN TO WHITE:\n");//到白行棋
print();
for(;;)
{
wlong=wshort=false;
if(true)
{
int rt;
HideCursor(); //隐藏控制台的光标
HWND hwnd = FindWindow("ConsoleWindowClass", NULL); /* 控制台窗口句柄 */
hInput = GetStdHandle(STD_INPUT_HANDLE); /* 输入设备句柄 */
ReadConsoleInput(hInput, &inRec, 1, &numRead); /* 读取1个输入事件 */
input();
zuobiao();
input();
zuobiao2();
}

if(x==9&&y>=14&&y<=16)
{
_oldw();
break;
}//悔棋

flag=movew();
if(flag)
{
if(chessnow[x2][y2]=='P'&&x2==8)
{
printf("WHAT DO YOU WANT 'P' TO BE:\n");
while(true)
{
changew();
if(flagc)
{
_addw();
break;
}
else
{
printf("WRONG! PLEASE INPUT AGAIN:\n");
print();
}
}
}
_addw();
break;
}//移动棋子

if(x==1&&y==4&&x2==1&&y2==6)
{
flag2=whitelong();
if(flag2)
{
wlong=true;
_addw();
break;
}
}//白长
if(x==1&&y==4&&x2==1&&y2==2)
{
flag2=whiteshort();
if(flag2)
{
wshort=true;
_addw();
break;
}
}//白短
printf("WRONG! PLEASE INPUT AGAIN:\n");
print();
}
use[x][y]=false;
if(checkw())//判断白胜否
break;
//===================================我是黑白分割线====================================//

printf("TURN TO BLACK:\n"); //到黑行棋
print();
for(;;)
{
blong=bshort=false;
if(true)
{
int rt;
HideCursor(); //隐藏控制台的光标
HWND hwnd = FindWindow("ConsoleWindowClass", NULL); /* 控制台窗口句柄 */
hInput = GetStdHandle(STD_INPUT_HANDLE); /* 输入设备句柄 */
ReadConsoleInput(hInput, &inRec, 1, &numRead); /* 读取1个输入事件 */
input();
zuobiao();
input();
zuobiao2();
// cout< }

if(x==9&&y>=14&&y<=16)
{
_oldb();
break;
}//黑棋

flag=moveb();
if(flag)
{
if(chessnow[x2][y2]=='p'&&x2==1)
{
printf("WHAT DO YOU WANT 'p' TO BE:\n");
while(true)
{
changeb();
if(flagc)
{
_addb();
break;
}
else
{
printf("WRONG! PLEASE INPUT AGAIN:\n");
print();
}
}
}
_addb();
break;
}//移动棋子

if(x==8&&y==4&&x2==8&&y2==6)
{
flag2=blacklong();
if(flag2)
{
blong=true;
_addb();
break;
}
}//黑长
if(x==8&&y==4&&x2==8&&y2==2)
{
flag2=blackshort();
if(flag2)
{
bshort=true;
_addb();
break;
}
}//黑短
printf("WRONG! PLEASE INPUT AGAIN:\n");
print();
}
use[x][y]=false;
if(checkb())//判断黑胜否
break;
}
print();

for(int i=0;i {
for(int j=0;j<6;++j)
printf("%c",stw[i][j]);
printf(" ");

if(i==sb)
break;

for(int j=0;j<6;++j)
printf("%c",stb[i][j]);
printf("\n");
}

return 0;
}
//======================================主程序=========================================//

//======================================函数库=========================================//
void sett()
{
memset(use,true,sizeof(use));
for(int i=0;i<300;++i)
printf("\n");
for(int i=1;i<=10000;++i)
for(int j=1;j<=8;++j)
for(int k=1;k<=8;++k)
chess[i][j][k]=chessnow[j][k];
}

void make()
{
memset(chessold,' ',sizeof(chessold));
chessold[1][1]=chessold[1][8]='R';
chessold[1][2]=chessold[1][7]='N';
chessold[1][3]=chessold[1][6]='B';
chessold[1][4]='K';
chessold[1][5]='Q';
for(int i=1;i<=8;++i) chessold[2][i]='P';
chessold[8][1]=chessold[8][8]='r';
chessold[8][2]=chessold[8][7]='n';
chessold[8][3]=chessold[8][6]='b';
chessold[8][4]='k';
chessold[8][5]='q';
for(int i=1;i<=8;++i) chessold[7][i]='p';
memcpy(chessnow,chessold,sizeof(chessold));
memcpy(chesstw,chessold,sizeof(chessold));
memcpy(chesstb,chessold,sizeof(chessold));
}

void print()
{
for(int i=0;i<8;++i)
printf(" %c ",'a'+i);
printf("\n");
for(int i=1;i<=8;++i)
{
printf("|---|---|---|---|---|---|---|---|\n");
for(int j=1;j<=8;++j)
printf("| %c ",chessnow[i][j]);
printf("| %d\n",i);
}
printf("|---|---|---|---|---|---|---|---| |悔棋|\n");
}

bool movew()
{
// scanf("%d%d%d%d",&x,&y,&x2,&y2);
if(x==x2&&y==y2)
return false;
if( (chessnow[x][y]>='a'&&chessnow[x][y]<='z') && chessnow[x][y]!=' ')
return false;
if(chessnow[x2][y2]!=' ' && chessnow[x2][y2]>='A' && chessnow[x2][y2]<='Z')
return false;
if(chessnow[x][y]==' ')
return false;
if(x>8||y>8||x<1||y<1)
return false;
if(x2>8||y2>8||x2<1||y2<1)
return false;

if(chessnow[x][y]=='R')
{
if(x==x2)
{
if(y>y2)
{
for(int i=y2+1;i if(chessnow[x][i]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
{
for(int i=y+1;i if(chessnow[x][i]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
else
if(y==y2)
{
if(x>x2)
{
for(int i=x2+1;i if(chessnow[i][y]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
{
for(int i=x+1;i if(chessnow[i][y]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
return false;
}

if(chessnow[x][y]=='N')
{
bool bo=false;
for(int i=0;i<8;++i)
if(x+ha[i]==x2&&y+hb[i]==y2)
{
bo=true;
break;
}
if(!bo)
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
return true;
}

if(chessnow[x][y]=='B')
{
if(x-x2!=y-y2&&x-x2!=y2-y)
return false;
if(x-x2==y-y2&&x>x2)
{
for(int i=x2+1,j=y2+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
if(x-x2==y-y2&&x2>x)
{
for(int i=x+1,j=y+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
if(x-x2==y2-y&&x>x2)
{
for(int i=x+1,j=y2+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
if(x-x2==y2-y&&x2>x)
{
for(int i=x2+1,j=y+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}

if(chessnow[x][y]=='P')
{
if(x2==x+1&&y2==y&&chessnow[x2][y2]==' ')
{
chessnow[x2][y2]='P';
chessnow[x][y]=' ';
return true;
}
else
if(x2==x+2&&y2==y&&chessnow[x2][y2]==' '&&chessnow[x+1][y]==' '&&x==2)
{
chessnow[x2][y2]='P';
chessnow[x][y]=' ';
return true;
}
else
if(x2==x+1&&y2==y-1&&chessnow[x2][y2]>='a'&&chessnow[x2][y2]<='z')
{
chessnow[x2][y2]='P';
chessnow[x][y]=' ';
return true;
}
else
if(x2==x+1&&y2==y+1&&chessnow[x2][y2]>='a'&&chessnow[x2][y2]<='z')
{
chessnow[x2][y2]='P';
chessnow[x][y]=' ';
return true;
}
return false;
}

if(chessnow[x][y]=='K')
{
for(int i=0;i<8;++i)
{
if(x+ka[i]==x2&y+kb[i]==y2)
{
if(chessnow[x2][y2]==' ')
{
chessnow[x][y]=' ';
chessnow[x2][y2]='K';
return true;
}
else
if(chessnow[x2][y2]>='a'&&chessnow[x2][y2]<='z')
{
chessnow[x2][y2]='K';
chessnow[x][y]=' ';
return true;
}
return false;
}
}
return false;
}

if(chessnow[x][y]=='Q')
{
if(x-x2==y-y2||x-x2==y2-y)
{
if(x-x2==y-y2&&x>x2)
{
for(int i=x2+1,j=y2+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
if(x-x2==y-y2&&x2>x)
{
for(int i=x+1,j=y+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
if(x-x2==y2-y&&x>x2)
{
for(int i=x+1,j=y2+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
if(x-x2==y2-y&&x2>x)
{
for(int i=x2+1,j=y+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
else
if(x==x2)
{
if(y>y2)
{
for(int i=y2+1;i if(chessnow[x][i]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
{
for(int i=y+1;i if(chessnow[x][i]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
else
if(y==y2)
{
if(x>x2)
{
for(int i=x2+1;i if(chessnow[i][y]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
{
for(int i=x+1;i if(chessnow[i][y]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
return false;
}
}

bool moveb()
{
// scanf("%d%d%d%d",&x,&y,&x2,&y2);
if(x==x2&&y==y2)
return false;
if( (chessnow[x][y]>='A'&&chessnow[x][y]<='Z') && chessnow[x][y]!=' ')
return false;
if(chessnow[x2][y2]!=' ' && chessnow[x2][y2]>='a' && chessnow[x2][y2]<='z')
return false;
if(chessnow[x][y]==' ')
return false;
if(x>8||y>8||x<1||y<1)
return false;
if(x2>8||y2>8||x2<1||y2<1)
return false;

if(chessnow[x][y]=='r')
{
if(x==x2)
{
if(y>y2)
{
for(int i=y2+1;i if(chessnow[x][i]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
{
for(int i=y+1;i if(chessnow[x][i]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
else
if(y==y2)
{
if(x>x2)
{
for(int i=x2+1;i if(chessnow[i][y]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
{
for(int i=x+1;i if(chessnow[i][y]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
return false;
}

if(chessnow[x][y]=='n')
{
bool bo=false;
for(int i=0;i<8;++i)
if(x+ha[i]==x2&&y+hb[i]==y2)
{
bo=true;
break;
}
if(!bo)
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
return true;
}

if(chessnow[x][y]=='b')
{
if(x-x2!=y-y2&&x-x2!=y2-y)
return false;
if(x-x2==y-y2&&x>x2)
{
for(int i=x2+1,j=y2+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
if(x-x2==y-y2&&x2>x)
{
for(int i=x+1,j=y+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
if(x-x2==y2-y&&x>x2)
{
for(int i=x+1,j=y2+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
if(x-x2==y2-y&&x2>x)
{
for(int i=x2+1,j=y+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}

if(chessnow[x][y]=='p')
{
if(x2==x-1&&y2==y&&chessnow[x2][y2]==' ')
{
chessnow[x2][y2]='p';
chessnow[x][y]=' ';
return true;
}
else
if(x2==x-2&&y2==y&&chessnow[x2][y2]==' '&&chessnow[x-1][y]==' '&&x==7)
{
chessnow[x2][y2]='p';
chessnow[x][y]=' ';
return true;
}
else
if(x2==x-1&&y2==y-1&&chessnow[x2][y2]>='A'&&chessnow[x2][y2]<='Z')
{
chessnow[x2][y2]='p';
chessnow[x][y]=' ';
return true;
}
else
if(x2==x-1&&y2==y+1&&chessnow[x2][y2]>='A'&&chessnow[x2][y2]<='Z')
{
chessnow[x2][y2]='p';
chessnow[x][y]=' ';
return true;
}
return false;
}

if(chessnow[x][y]=='k')
{
for(int i=0;i<8;++i)
{
if(x+ka[i]==x2&y+kb[i]==y2)
{
if(chessnow[x2][y2]==' ')
{
chessnow[x][y]=' ';
chessnow[x2][y2]='k';
return true;
}
else
if(chessnow[x2][y2]>='A'&&chessnow[x2][y2]<='Z')
{
chessnow[x2][y2]='k';
chessnow[x][y]=' ';
return true;
}
return false;
}
}
return false;
}

if(chessnow[x][y]=='q')
{
if(x-x2==y-y2||x-x2==y2-y)
{
if(x-x2==y-y2&&x>x2)
{
for(int i=x2+1,j=y2+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
if(x-x2==y-y2&&x2>x)
{
for(int i=x+1,j=y+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
if(x-x2==y2-y&&x>x2)
{
for(int i=x+1,j=y2+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
if(x-x2==y2-y&&x2>x)
{
for(int i=x2+1,j=y+1;i if(chessnow[i][j]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
else
if(x==x2)
{
if(y>y2)
{
for(int i=y2+1;i if(chessnow[x][i]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
{
for(int i=y+1;i if(chessnow[x][i]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
else
if(y==y2)
{
if(x>x2)
{
for(int i=x2+1;i if(chessnow[i][y]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
else
{
for(int i=x+1;i if(chessnow[i][y]!=' ')
return false;
chessnow[x2][y2]=chessnow[x][y];
chessnow[x][y]=' ';
}
return true;
}
return false;
}
}

bool whitelong()
{
if(chessnow[1][4]=='K'&&chessnow[1][8]=='R'&&use[1][4]&&use[1][8])
{
if(chessnow[1][5]==' '&&chessnow[1][6]==' '&&chessnow[1][7]==' ')
{
chessnow[1][6]='K';
chessnow[1][5]='R';
chessnow[1][4]=chessnow[1][8]=' ';
use[1][4]=use[1][8]=false;
return true;
}
else
return false;
}
else
return false;
}

bool whiteshort()
{
if(chessnow[1][4]=='K'&&chessnow[1][1]=='R'&&use[1][4]&&use[1][1])
{
if(chessnow[1][2]==' '&&chessnow[1][3]==' ')
{
chessnow[1][2]='K';
chessnow[1][3]='R';
chessnow[1][4]=chessnow[1][1]=' ';
use[1][4]=use[1][1]=false;
return true;
}
else
return false;
}
else
return false;
}

bool blacklong()
{
if(chessnow[8][4]=='k'&&chessnow[8][8]=='r'&&use[8][4]&&use[8][8])
{
if(chessnow[8][5]==' '&&chessnow[8][6]==' '&&chessnow[8][7]==' ')
{
chessnow[8][6]='k';
chessnow[8][5]='r';
chessnow[8][4]=chessnow[8][8]=' ';
use[8][4]=use[8][8]=false;
return true;
}
else
return false;
}
else
return false;
}

bool blackshort()
{
if(chessnow[8][4]=='k'&&chessnow[8][1]=='r'&&use[8][4]&&use[8][1])
{
if(chessnow[8][2]==' '&&chessnow[8][3]==' ')
{
chessnow[8][2]='k';
chessnow[8][3]='r';
chessnow[8][4]=chessnow[8][1]=' ';
use[8][4]=use[8][1]=false;
return true;
}
else
return false;
}
else
return false;
}

bool changew()
{
cin>>change;
if(change=='N'||change=='Q'||change=='R'||change=='B')
{
chessnow[x2][y2]=change;
flagc=true;
}
else
flagc=false;
}

bool changeb()
{
cin>>change;
if(change=='n'||change=='q'||change=='r'||change=='b')
{
chessnow[x2][y2]=change;
flagc=true;
}
else
flagc=false;
}

bool checkw()
{
for(int i=1;i<=8;++i)
for(int j=1;j<=8;++j)
if(chessnow[i][j]=='k')
return false;;
HWND hwnd = FindWindow("ConsoleWindowClass", NULL); /* 控制台窗口句柄 */
MessageBox(hwnd,"WHITE WIN!","OVER!",0);
printf("WHITE WIN\nWHITE WIN\nWHITE WIN\nWHITE WIN\nWHITE WIN\nWHITE WIN\nWHITE WIN\nWHITE WIN\nWHITE WIN\nWHITE WIN\n");
return true;
}

bool checkb()
{
for(int i=1;i<=8;++i)
for(int j=1;j<=8;++j)
if(chessnow[i][j]=='K')
return false;
HWND hwnd = FindWindow("ConsoleWindowClass", NULL); /* 控制台窗口句柄 */
MessageBox(hwnd,"BLACK WIN!","OVER!",0);
printf("BLACK WIN\nBLACK WIN\nBLACK WIN\nBLACK WIN\nBLACK WIN\nBLACK WIN\nBLACK WIN\nBLACK WIN\nBLACK WIN\nBLACK WIN\n");
return true;
}

void zuobiao()
{
Y-=281;
y=(X-1)/4+1;
x=(Y-1)/2+1;
}

void zuobiao2()
{
Y-=281;
y2=(X-1)/4+1;
x2=(Y-1)/2+1;
}

void _oldw()
{
for(int i=10000;i>=2;--i)
for(int j=1;j<=8;++j)
for(int k=1;k<=8;++k)
chess[i][j][k]=chess[i-1][j][k];
for(int i=1;i<=8;++i)
for(int j=1;j<=8;++j)
chessnow[i][j]=chess[10000][i][j];
--sb;
}

void _oldb()
{
for(int i=10000;i>=2;--i)
for(int j=1;j<=8;++j)
for(int k=1;k<=8;++k)
chess[i][j][k]=chess[i-1][j][k];
for(int i=1;i<=8;++i)
for(int j=1;j<=8;++j)
chessnow[i][j]=chess[10000][i][j];
--sw;
}

void _addw()
{
for(int i=1;i<=9999;++i)
for(int j=1;j<=8;++j)
for(int k=1;k<=8;++k)
chess[i][j][k]=chess[i+1][j][k];

for(int i=1;i<=8;++i)
for(int j=1;j<=8;++j)
chess[10000][i][j]=chessnow[i][j];

if(wlong)
{
stw[sw][0]='0';
stw[sw][1]='-';
stw[sw][2]='0';
stw[sw][3]='-';
stw[sw][4]='0';
stw[sw][5]=' ';
++sw;
return;
}//long
else
if(wshort)
{
stw[sw][0]='0';
stw[sw][1]='-';
stw[sw][2]='0';
stw[sw][3]=stw[sw][4]=stw[sw][5]=' ';
++sw;
return;
}//short
stw[sw][0]=st[y];
stw[sw][1]=x+'0';
stw[sw][2]='-';
stw[sw][3]='-';
stw[sw][4]=st[y2];
stw[sw][5]=x2+'0';
++sw;
}

void _addb()
{
for(int i=1;i<=9999;++i)
for(int j=1;j<=8;++j)
for(int k=1;k<=8;++k)
chess[i][j][k]=chess[i+1][j][k];

for(int i=1;i<=8;++i)
for(int j=1;j<=8;++j)
chess[10000][i][j]=chessnow[i][j];

if(blong)
{
stb[sb][0]='0';
stb[sb][1]='-';
stb[sb][2]='0';
stb[sb][3]='-';
stb[sb][4]='0';
stb[sb][5]=' ';
++sb;
return;
}
else
if(bshort)
{
stb[sb][0]='0';
stb[sb][1]='-';
stb[sb][2]='0';
stb[sb][3]=stb[sb][4]=stb[sb][5]=' ';
++sb;
return;
}
stb[sb][0]=st[y];
stb[sb][1]=x+'0';
stb[sb][2]='-';
stb[sb][3]='-';
stb[sb][4]=st[y2];
stb[sb][5]=x2+'0';
++sb;
}
//======================================函数库=========================================//




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部