C/C++大作业:象棋

C/C++大作业:象棋

写在前面

ssdut大一在读,肝了两天多~
都是原创的w
缺点是没有活用c++的优势,代码有一点点长~
本身是个可做可不做的自由作业,写着就当练练手
下学期学了qt一定优化图形界面!(确信)
有bug请细心的你评论下~

为了你的观看体验,先放效果图
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

#include <iostream>
#include <windows.h>
#include <stdlib.h> 
#include <cstring>
#include <cmath>
using namespace std;
string a[15][15];//棋盘 
int zhenying[15][15];
int Flag;//判断是否为有效输入 
void init() {
	for(int i = 1;i <= 10;i++)
	for(int j = 1;j <= 9;j++)
	a[i][j] = "十",zhenying[i][j] = 0;
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
	cout << "    1 2 3 4 5 6 7 8 9" << endl;
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
	cout << "1   车马相士将士相马车"<<endl; 
	cout << "2   十十十十十十十十十" <<endl;
	cout << "3   十炮十十十十十炮十" <<endl;
	cout << "4   卒十卒十卒十卒十卒"<<endl;
    cout << "5   十十十十十十十十十"<<endl;
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
	cout << "6   十十十十十十十十十"<<endl;
	cout << "7   兵十兵十兵十兵十兵"<<endl;
	cout << "8   十咆十十十十十咆十" <<endl;
	cout << "9   十十十十十十十十十" <<endl;
	cout << "10  車馬象仕帅仕象馬車"<<endl; 
//	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
//	cout << "九八七六五四三二一"<<endl;
	cout << endl << endl; 
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                            FOREGROUND_RED | 
                            FOREGROUND_GREEN | 
                            FOREGROUND_BLUE |
                            FOREGROUND_INTENSITY);
    cout << "输入格式:例如:帅 10 5 9 5(意为帅五进一)"<<endl<<endl<<endl; 
	cout << "红方先手  请红方开始"<<endl<<endl<<endl;	
	return;
	
}
class hongshuai{
	private:
		bool cunzai;
		int x,y;
	public:
		hongshuai(int x,int y){
			this->x = x,this->y = y,cunzai = 1,zhenying[x][y] = 1,a[x][y] = "帅";
		}
		bool ifcunzai(){
			return cunzai;
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<8||nxy<4||nxy>6||cunzai==0){
				cout << "输入无效"<<endl; 
				return ;
			}
			if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==1){
				cout << "输入无效"<<endl;
				return ;
			}
			if(abs(nox-nxx)+abs(noy-nxy)!=1){
				cout << "输入无效"<<endl;
				return ;
			}
			x = nxx,y = nxy;
			Flag = 1;
			a[nxx][nxy] = "帅";
			a[nox][noy] = "十";
			zhenying[nxx][nxy] = 1;
			zhenying[nox][noy] = 0; 
		}
};
class heijiang{
	private:
		bool cunzai;
		int x,y;
	public:
		heijiang(int x,int y){
			this->x = x,this->y = y,cunzai = 1,zhenying[x][y] = -1,a[x][y] = "将";
		}
		bool ifcunzai(){
			return cunzai;
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=4||nxx<=0||nxy<4||nxy>6||cunzai==0){
				cout << "输入无效"<<endl; 
				return ;
			}
			if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==-1){
				cout << "输入无效"<<endl;
				return ;
			}
			if(abs(nox-nxx)+abs(noy-nxy)!=1){
				cout << "输入无效"<<endl;
				return ;
			}
			x = nxx,y = nxy;
			Flag = 1;
			a[nxx][nxy] = "将";
			a[nox][noy] = "十";
			zhenying[nxx][nxy] = -1;
			zhenying[nox][noy] = 0; 
		}
};
class hongche{
	private:
		//string nop;//nowposition 
	//	int color;//红1
		bool cunzai;
		int x,y;
	public:
		hongche(int x,int y){
		//	color = 1;
			cunzai = 1,this->x = x,this->y = y,zhenying[x][y] = 1,a[x][y] = "車";
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			a[nox][noy] = "十";
			zhenying[nox][noy] = 0;
			if(nox==nxx&&noy==nxy){
				cout << "输入无效"<<endl;
				a[nox][noy] = "車";
				zhenying[nox][noy] = 1;
				return ;
			}
			else if(nox!=nxx&&noy!=nxy){
				cout << "输入无效"<<endl;
				a[nox][noy] = "車";
				zhenying[nox][noy] = 1;
				return ;
			}
			else if(nox==nxx){
				if(noy>nxy){
					for(int i = noy;i >= nxy;i--){
						if(a[nox][i]!="十"){
							if(zhenying[nox][i]==-1){
								a[nox][i] = "車";
								zhenying[nox][i]=1;
								x = nox,y = i;
								Flag = 1;
								return ;
							}
							else{
								cout << "输入无效"<<endl;
								a[nox][noy] = "車";
								zhenying[nox][noy] = 1;
								return ;
							}
						}
					}
					a[nox][nxy] = "車";
					x = nox,y = nxy;
					zhenying[nox][nxy] = 1;
					Flag = 1;
				}
				else if(noy<nxy){
					for(int i = noy;i <= nxy;i++){
						if(a[nox][i]!="十"){
							if(zhenying[nox][i]==-1){
								a[nox][i] = "車";
								zhenying[nox][i]=1;
								x = nox,y = i;
								Flag = 1;
								return ;
							}
							else{
								cout << "输入无效"<<endl;
								a[nox][noy] = "車";
								zhenying[nox][noy] = 1;
								return ;
							}
						}
					}
					a[nox][nxy] = "車";
					zhenying[nox][nxy] = 1;
					x = nox,y = nxy;
					Flag = 1;
				}
			}
			else if(noy==nxy){
				if(nox < nxx){
					for(int i = nox;i <= nxx;i++){
						if(a[i][noy]!="十"){
							if(zhenying[i][noy]==-1){
								a[i][noy] = "車";
								zhenying[i][noy] = 1;
								x = i,y = noy;
								Flag = 1;
								return ;
							}
							else{
								zhenying[nox][nxy] = 1;
								x = nox,y = nxy;
								cout << "输入无效"<<endl;
								return ;
							}
						}
					}
					a[nxx][nxy] = "車";
					x = nxx,y = nxy;
					Flag = 1;
					zhenying[nxx][nxy] = 1;
				}
				else if(nox>nxx){
					for(int i = nox;i >= nxx;i--){
						if(a[i][noy]!="十"){
							if(zhenying[i][noy]==-1){
								a[i][noy] = "車";
								x = i,y = noy;
								Flag = 1;
								zhenying[i][noy] = 1;
								return ;
							}
							else{
								zhenying[nox][nxy] = 1;
								x = nox,y = nxy;
								cout << "输入无效"<<endl;
								return ;
							}
						}
					}
					a[nxx][nxy] = "車";
					x = nxx,y = nxy;
					Flag = 1;
					zhenying[nxx][nxy] = 1;
				}
			}
//			int step; 
//			if(nxp=="一")step = 1;
//			if(nxp=="二")step = 2;
//			if(nxp=="三")step = 3;
//			if(nxp=="四")step = 4;
//			if(nxp=="五")step = 5;
//			if(nxp=="六")step = 6;
//			if(nxp=="七")step = 7;
//			if(nxp=="八")step = 8;
//			if(nxp=="九")step = 9;
//			
			
//			if(way=="进"){
//				int i = 1;
//				for(i = 1;i <= step;i++)
//				if(a[x-i][y]!="十"){
//					if(zhenying[x-i][y]==-1){
//						a[x-i][y] = "車";
//						break;
//					}
//					cout << "输入无效"<<endl;
//					return ;
//				}
//				if(i==step+1)
//				a[x-step][y] = "車"; 
//			} 
//			else if(way=="平"){
//				for(int i = 1;i )
//				a[x][step] = "車"; 
//			}
			
		}
};
class hongma{
	private:
		bool cunzai;
		int x,y;
	public:
		hongma(int x,int y){
			cunzai = 1,this->x = x,this->y = y,zhenying[x][y] = 1,a[x][y] = "馬";
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==1){
				cout << "输入无效"<<endl;
				return ;
			}
			a[nox][noy] = "十";
			zhenying[nox][noy] = 0;
			if(nox==nxx&&noy==nxy){
				cout << "输入无效"<<endl;
				a[nox][noy] = "馬";
				zhenying[nox][noy] = 1;
				return ;
			}
			if(nox-nxx==1){
				if(abs(nxy-noy)!=2){
					cout << "输入无效"<<endl;
					a[nox][noy] = "馬";
					zhenying[nox][noy] = 1;
					return ;
				}
				else{
					if(nxy-noy==2){
						if(a[nox][noy+1]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "馬";
							zhenying[nox][noy] = 1;
							return ;
						}
						else{
							a[nxx][nxy] = "馬";
							zhenying[nxx][nxy] = 1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
					else if(noy-nxy==2){
						if(a[nox][noy-1]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "馬";
							zhenying[nox][noy] = 1;
							return ;	
						}
						else{
							a[nxx][nxy] = "馬";
							zhenying[nxx][nxy] = 1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
				}
			}
			else if(nxx-nox==1){
				if(abs(nxy-noy)!=2){
					cout << "输入无效"<<endl;
					a[nox][noy] = "馬";
					zhenying[nox][noy] = 1;
					return ;
				}
				else{
					if(nxy-noy==2){
						if(a[nox][noy+1]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "馬";
							zhenying[nox][noy] = 1;
							return ;
						}
						else{
							a[nxx][nxy] = "馬";
							zhenying[nxx][nxy] = 1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
					else if(noy-nxy==2){
						if(a[nox][noy-1]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "馬";
							zhenying[nox][noy] = 1;
							return ;	
						}
						else{
							a[nxx][nxy] = "馬";
							zhenying[nxx][nxy] = 1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
				}
			}
			else if(nxx-nox==2){
				if(abs(nxy-noy)!=1){
					cout << "输入无效"<<endl;
					a[nox][noy] = "馬";
					zhenying[nox][noy] = 1;
					return ;
				}
				else{
					if(nxy-noy==1){
						if(a[nox+1][noy]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "馬";
							zhenying[nox][noy] = 1;
							return ;
						}
						else{
							a[nxx][nxy] = "馬";
							zhenying[nxx][nxy] = 1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
					else if(noy-nxy==1){
						if(a[nox+1][noy]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "馬";
							zhenying[nox][noy] = 1;
							return ;	
						}
						else{
							a[nxx][nxy] = "馬";
							zhenying[nxx][nxy] = 1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
				}
			}
			else if(nox-nxx==2){
				if(abs(nxy-noy)!=1){
					cout << "输入无效"<<endl;
					a[nox][noy] = "馬";
					zhenying[nox][noy] = 1;
					return ;
				}
				else{
					if(nxy-noy==1){
						if(a[nox-1][noy]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "馬";
							zhenying[nox][noy] = 1;
							return ;
						}
						else{
							a[nxx][nxy] = "馬";
							zhenying[nxx][nxy] = 1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
					else if(noy-nxy==1){
						if(a[nox-1][noy]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "馬";
							zhenying[nox][noy] = 1;
							return ;	
						}
						else{
							a[nxx][nxy] = "馬";
							zhenying[nxx][nxy] = 1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
				}
			}
			else {
				cout << "输入无效"<<endl;
				a[nox][noy] = "馬";
				zhenying[nox][noy] = 1;
				return ;
			}
		}
};
class hongxiang{
	private:
		bool cunzai;
		int x,y;
	public:
		hongxiang(int x,int y){
			cunzai = 1,this->x = x,this->y = y,zhenying[x][y] = 1,a[x][y] = "象"; 
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<6||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(a[nxx][nxy]!="十"){
				cout << "输入无效"<<endl;
				return ;
			}
			a[nox][noy] = "十";
			zhenying[nox][noy] = 0;
			if(nox==nxx&&noy==nxy){
				cout << "输入无效"<<endl;
				a[nox][noy] = "象";
				zhenying[nox][noy] = 1;
				return ;
			}
			if(nox-nxx==2) {
				if(abs(noy-nxy)!=2){
					a[nox][noy] = "象";
					zhenying[nox][noy] = 1;
					cout << "输入无效"<<endl;
					return ;
				}
				else if(noy-nxy==2){
					if(a[nox-1][noy-1]!="十"){
						a[nox][noy] = "象";
						zhenying[nox][noy] = 1;
						cout << "输入无效"<<endl;
						return ;
					}
					else{
						a[nxx][nxy] = "象";
						zhenying[nxx][nxy] = 1;
						Flag = 1;
						x = nxx,y = nxy;
					}
				}
				else if(nxy-noy==2){
					if(a[nox-1][noy+1]!="十"){
						a[nox][noy] = "象";
						zhenying[nox][noy] = 1;
						cout << "输入无效"<<endl;
						return ;
					}
					else{
						a[nxx][nxy] = "象";
						zhenying[nxx][nxy] = 1;
						Flag = 1;
						x = nxx,y = nxy;
					}
				}
			}
			else if(nxx-nox==2){
				if(abs(noy-nxy)!=2){
					a[nox][noy] = "象";
					zhenying[nox][noy] = 1;
					cout << "输入无效"<<endl;
					return ;
				}
				else if(noy-nxy==2){
					if(a[nox+1][noy-1]!="十"){
						a[nox][noy] = "象";
						zhenying[nox][noy] = 1;
						cout << "输入无效"<<endl;
						return ;
					}
					else{
						a[nxx][nxy] = "象";
						zhenying[nxx][nxy] = 1;
						Flag = 1;
						x = nxx,y = nxy;
					}
				}
				else if(nxy-noy==2){
					if(a[nox+1][noy+1]!="十"){
						a[nox][noy] = "象";
						zhenying[nox][noy] = 1;
						cout << "输入无效"<<endl;
						return ;
					}
					else{
						a[nxx][nxy] = "象";
						zhenying[nxx][nxy] = 1;
						Flag = 1;
						x = nxx,y = nxy;
					}
				}
			}
		}
};
class hongshi{
	private:
		bool cunzai;
		int x,y;
	public:
		hongshi(int x,int y){
			cunzai = 1,this->x = x,this->y = y,zhenying[x][y] = 1,a[x][y] = "仕";
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<8||nxy<4||nxy>6||cunzai==0){
				cout << "输入无效"<<endl; 
				return ;
			}
			if(zhenying[nox][noy]!=1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(nxx==9&&nxy==4||nxx==9&&nxy==6||nxx==8&&nxy==5||nxx==10&&nxy==5){
				cout << "输入无效"<<endl;
				return ;
			}
			if(abs(nxx-nox)+abs(nxy-noy)!=2){
				cout << "输入无效"<<endl;
				return ; 
			}
			if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==1){
				cout << "输入无效"<<endl;
				return ;
			}
			x = nxx,y = nxy;
			Flag = 1;
			a[nxx][nxy] = "仕";
			a[nox][noy] = "十";
			zhenying[nxx][nxy] = 1;
			zhenying[nox][noy] = 0; 
			
		}
};
class hongpao{
	private:
		bool cunzai;
		int x,y;
	public:
		hongpao(int x,int y){
			this->x = x,this->y = y,cunzai = 1,zhenying[x][y] = 1,a[x][y] = "咆";
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==1){
				cout << "输入无效"<<endl;
				return ;
			}
			if(nox==nxx&&noy==nxy){
				cout << "输入无效"<<endl;
				return ;
			}
			int mark = 0;
			int cnt = 0;
			if(nox==nxx){//1
				if(noy<nxy){//2
					cnt = 0;
					for(int i = noy+1;i <= nxy;i++){//3	
						if(a[nox][i]!="十"){//4
							cnt++;
						}//1
						if(cnt==1){//5
							for(int j = i+1;j<=nxy;j++){
								if(a[nox][j]!="十"&&zhenying[nox][j]==-1){
									x = nxx,y = nxy;
									Flag = 1;
									a[nox][noy] = "十";
									a[nxx][nxy] = "咆";
									zhenying[nox][noy] = 0;
									zhenying[nxx][nxy] = 1;
									return ;
								}
								else if(a[nox][j]!="十"&&zhenying[nox][j]==1){
									cout << "输入无效"<<endl;
									return ;
								}
							}
						}
					}
					if(cnt==0){
						x = nxx,y = nxy;
						Flag = 1;
						a[nox][noy] = "十";
						a[nxx][nxy] = "咆";
						zhenying[nox][noy] = 0;
						zhenying[nxx][nxy] = 1;
						return ;
					}
				}
				else if(noy>nxy){
					cnt = 0;
						for(int i = noy-1;i >= nxy;i--){	
						if(a[nox][i]!="十"){
							cnt++;
						}
						if(cnt==1){
							for(int j = i-1;j>=nxy;j--){
								if(a[nox][j]!="十"&&zhenying[nox][j]==-1){
									x = nxx,y = nxy;
									Flag = 1;
									a[nox][noy] = "十";
									a[nxx][nxy] = "咆";
									zhenying[nox][noy] = 0;
									zhenying[nxx][nxy] = 1;
									return ;
								}
								else if(a[nox][j]!="十"&&zhenying[nox][j]==1){
									cout << "输入无效"<<endl;
									return ;
								}
							}
						}
					}
					if(cnt==0){
						x = nxx,y = nxy;
						Flag = 1;
						a[nox][noy] = "十";
						a[nxx][nxy] = "咆";
						zhenying[nox][noy] = 0;
						zhenying[nxx][nxy] = 1;
						return ;
					}
				}
			}
			else if(noy==nxy){
					if(nox<nxx){
						cnt = 0;
					for(int i = nox+1;i <= nxx;i++){	
						if(a[i][noy]!="十"){
							cnt++;
						}
						if(cnt==1){
							for(int j = i+1;j<=nxx;j++){
								if(a[j][noy]!="十"&&zhenying[j][noy]==-1){
									x = nxx,y = nxy;
									Flag = 1;
									a[nox][noy] = "十";
									a[nxx][nxy] = "咆";
									zhenying[nox][noy] = 0;
									zhenying[nxx][nxy] = 1;
									return ;
								}
								else if(a[j][noy]!="十"&&zhenying[j][noy]==1){
									cout << "输入无效"<<endl;
									return ;
								}
							}
						}
					}
					if(cnt==0){
						x = nxx,y = nxy;
						Flag = 1;
						a[nox][noy] = "十";
						a[nxx][nxy] = "咆";
						zhenying[nox][noy] = 0;
						zhenying[nxx][nxy] = 1;
						return ;
					}
				}
				else if(nox>nxx){
					cnt = 0;
						for(int i = nox-1;i >= nxx;i--){	
						if(a[i][noy]!="十"){
							cnt++;
						}
						if(cnt==1){
							for(int j = i-1;j>=nxx;j--){
								if(a[j][noy]!="十"&&zhenying[j][noy]==-1){
									x = nxx,y = nxy;
									Flag = 1;
									a[nox][noy] = "十";
									a[nxx][nxy] = "咆";
									zhenying[nox][noy] = 0;
									zhenying[nxx][nxy] = 1;
									return ;
								}
								else if(a[j][noy]!="十"&&zhenying[j][noy]==1){
									cout << "输入无效"<<endl;
									return ;
								}
							}
						}
					}
					if(cnt==0){
						x = nxx,y = nxy;
						Flag = 1;
						a[nox][noy] = "十";
						a[nxx][nxy] = "咆";
						zhenying[nox][noy] = 0;
						zhenying[nxx][nxy] = 1;
						return ;
					}
				}
			}
		}
};
class hongbing{
	private:
		bool cunzai;
		int x,y;
	public:
		hongbing(int x,int y){
			this->x = x,this->y = y,zhenying[x][y] = 1,a[x][y] = "兵",cunzai = 1;
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(nox>=6&&nxy!=noy){
				cout << "输入无效"<<endl;
				return ;
			}
			if(nox>=6&&nox<=nxx){
				cout << "输入无效"<<endl;
				return ;
			}
			if(abs(nxx-nox)+abs(nxy-noy)!=1){
				cout << "输入无效"<<endl;
				return ; 
			}
			if(nox>=6&&nxy==noy&&a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==1){
				cout << "输入无效"<<endl;
				return ;
			}
			if(nox>=6){
				a[nox][noy] = "十";
				zhenying[nxx][nxy] = 1;
				zhenying[nox][noy] = 0;
				a[nxx][nxy] = "兵";
				Flag = 1;
				x = nxx,y = nxy;
				return ;
			}
			else if(nox<6){
				if(nox<nxx){
					cout << "输入无效"<<endl;
					return ;
				}
				else if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==1){
					cout << "输入无效"<<endl;
					return ;
				}
				else {
					Flag = 1;
					a[nox][noy] = "十";
					zhenying[nox][noy] = 0;
					zhenying[nxx][nxy] = 1;
					a[nxx][nxy] = "兵";
					x = nxx,y = nxy;
					return ;
				}
			}
		}
};
class heiche{
	private:
		bool cunzai;
		int x,y;
	public:
		heiche(int x,int y){
			cunzai = 1,this->x = x,this->y = y,zhenying[x][y] = -1,a[x][y] = "车";
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=-1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			a[nox][noy] = "十";
			zhenying[nox][noy] = 0;
			if(nox==nxx&&noy==nxy){
				cout << "输入无效"<<endl;
				a[nox][noy] = "车";
				zhenying[nox][noy] = -1;
				return ;
			}
			else if(nox!=nxx&&noy!=nxy){
				cout << "输入无效"<<endl;
				a[nox][noy] = "车";
				zhenying[nox][noy] = -1;
				return ;
			}
			else if(nox==nxx){
				if(noy>nxy){
					for(int i = noy;i >= nxy;i--){
						if(a[nox][i]!="十"){
							if(zhenying[nox][i]==1){
								a[nox][i] = "车";
								zhenying[nox][i]=-1;
								x = nox,y = i;
								Flag = 1;
								return ;
							}
							else{
								cout << "输入无效"<<endl;
								a[nox][noy] = "车";
								zhenying[nox][noy] = -1;
								return ;
							}
						}
					}
					a[nox][nxy] = "车";
					x = nox,y = nxy;
					zhenying[nox][nxy] = -1;
					Flag = 1;
				}
				else if(noy<nxy){
					for(int i = noy;i <= nxy;i++){
						if(a[nox][i]!="十"){
							if(zhenying[nox][i]==1){
								a[nox][i] = "车";
								zhenying[nox][i]=-1;
								x = nox,y = i;
								Flag = 1;
								return ;
							}
							else{
								cout << "输入无效"<<endl;
								a[nox][noy] = "车";
								zhenying[nox][noy] = -1;
								return ;
							}
						}
					}
					a[nox][nxy] = "车";
					zhenying[nox][nxy] = -1;
					x = nox,y = nxy;
					Flag = 1;
				}
			}
			else if(noy==nxy){
				if(nox < nxx){
					for(int i = nox;i <= nxx;i++){
						if(a[i][noy]!="十"){
							if(zhenying[i][noy]==1){
								a[i][noy] = "车";
								zhenying[i][noy] = -1;
								x = i,y = noy;
								Flag = 1;
								return ;
							}
							else{
								zhenying[nox][nxy] = -1;
								x = nox,y = nxy;
								cout << "输入无效"<<endl;
								return ;
							}
						}
					}
					a[nxx][nxy] = "车";
					x = nxx,y = nxy;
					Flag = 1;
					zhenying[nxx][nxy] = -1;
				}
				else if(nox>nxx){
					for(int i = nox;i >= nxx;i--){
						if(a[i][noy]!="十"){
							if(zhenying[i][noy]==1){
								a[i][noy] = "车";
								x = i,y = noy;
								Flag = 1;
								zhenying[i][noy] = -1;
								return ;
							}
							else{
								zhenying[nox][nxy] = -1;
								x = nox,y = nxy;
								cout << "输入无效"<<endl;
								return ;
							}
						}
					}
					a[nxx][nxy] = "车";
					x = nxx,y = nxy;
					Flag = 1;
					zhenying[nxx][nxy] = -1;
				}
			}		
		}
};
class heima{
	private:
		bool cunzai;
		int x,y;
	public:
		heima(int x,int y){
			cunzai = 1,this->x = x,this->y = y,zhenying[x][y] = -1,a[x][y] = "马";
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=-1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==-1){
				cout << "输入无效"<<endl;
				return ;
			}
			a[nox][noy] = "十";
			zhenying[nox][noy] = 0;
			if(nox==nxx&&noy==nxy){
				cout << "输入无效"<<endl;
				a[nox][noy] = "马";
				zhenying[nox][noy] = -1;
				return ;
			}
			if(nox-nxx==1){
				if(abs(nxy-noy)!=2){
					cout << "输入无效"<<endl;
					a[nox][noy] = "马";
					zhenying[nox][noy] = -1;
					return ;
				}
				else{
					if(nxy-noy==2){
						if(a[nox][noy+1]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "马";
							zhenying[nox][noy] = -1;
							return ;
						}
						else{
							a[nxx][nxy] = "马";
							zhenying[nxx][nxy] = -1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
					else if(noy-nxy==2){
						if(a[nox][noy-1]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "马";
							zhenying[nox][noy] = -1;
							return ;	
						}
						else{
							a[nxx][nxy] = "马";
							zhenying[nxx][nxy] = -1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
				}
			}
			else if(nxx-nox==1){
				if(abs(nxy-noy)!=2){
					cout << "输入无效"<<endl;
					a[nox][noy] = "马";
					zhenying[nox][noy] = -1;
					return ;
				}
				else{
					if(nxy-noy==2){
						if(a[nox][noy+1]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "马";
							zhenying[nox][noy] = -1;
							return ;
						}
						else{
							a[nxx][nxy] = "马";
							zhenying[nxx][nxy] = -1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
					else if(noy-nxy==2){
						if(a[nox][noy-1]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "马";
							zhenying[nox][noy] = -1;
							return ;	
						}
						else{
							a[nxx][nxy] = "马";
							zhenying[nxx][nxy] = -1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
				}
			}
			else if(nxx-nox==2){
				if(abs(nxy-noy)!=1){
					cout << "输入无效"<<endl;
					a[nox][noy] = "马";
					zhenying[nox][noy] = -1;
					return ;
				}
				else{
					if(nxy-noy==1){
						if(a[nox+1][noy]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "马";
							zhenying[nox][noy] = -1;
							return ;
						}
						else{
							a[nxx][nxy] = "马";
							zhenying[nxx][nxy] = -1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
					else if(noy-nxy==1){
						if(a[nox+1][noy]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "马";
							zhenying[nox][noy] = -1;
							return ;	
						}
						else{
							a[nxx][nxy] = "马";
							zhenying[nxx][nxy] = -1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
				}
			}
			else if(nox-nxx==2){
				if(abs(nxy-noy)!=1){
					cout << "输入无效"<<endl;
					a[nox][noy] = "马";
					zhenying[nox][noy] = -1;
					return ;
				}
				else{
					if(nxy-noy==1){
						if(a[nox-1][noy]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "马";
							zhenying[nox][noy] = -1;
							return ;
						}
						else{
							a[nxx][nxy] = "马";
							zhenying[nxx][nxy] = -1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
					else if(noy-nxy==1){
						if(a[nox-1][noy]!="十"){
							cout << "输入无效"<<endl;
							a[nox][noy] = "马";
							zhenying[nox][noy] = -1;
							return ;	
						}
						else{
							a[nxx][nxy] = "马";
							zhenying[nxx][nxy] = -1;
							Flag = 1;
							x = nxx,y = nxy;
						}
					}
				}
			}
			else {
				cout << "输入无效"<<endl;
				a[nox][noy] = "马";
				zhenying[nox][noy] = -1;
				return ;
			}
		}
};
class heixiang{
	private:
		bool cunzai;
		int x,y;
	public:
		heixiang(int x,int y){
			cunzai = 1,this->x = x,this->y = y,zhenying[x][y] = -1,a[x][y] = "相"; 
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>5||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=-1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(a[nxx][nxy]!="十"){
				cout << "输入无效"<<endl;
				return ;
			}
			a[nox][noy] = "十";
			zhenying[nox][noy] = 0;
			if(nox==nxx&&noy==nxy){
				cout << "输入无效"<<endl;
				a[nox][noy] = "相";
				zhenying[nox][noy] = -1;
				return ;
			}
			if(nox-nxx==2) {
				if(abs(noy-nxy)!=2){
					a[nox][noy] = "象";
					zhenying[nox][noy] = -1;
					cout << "输入无效"<<endl;
					return ;
				}
				else if(noy-nxy==2){
					if(a[nox-1][noy-1]!="十"){
						a[nox][noy] = "相";
						zhenying[nox][noy] = -1;
						cout << "输入无效"<<endl;
						return ;
					}
					else{
						a[nxx][nxy] = "相";
						zhenying[nxx][nxy] = -1;
						Flag = 1;
						x = nxx,y = nxy;
					}
				}
				else if(nxy-noy==2){
					if(a[nox-1][noy+1]!="十"){
						a[nox][noy] = "象";
						zhenying[nox][noy] = -1;
						cout << "输入无效"<<endl;
						return ;
					}
					else{
						a[nxx][nxy] = "相";
						zhenying[nxx][nxy] = -1;
						Flag = 1;
						x = nxx,y = nxy;
					}
				}
			}
			else if(nxx-nox==2){
				if(abs(noy-nxy)!=2){
					a[nox][noy] = "相";
					zhenying[nox][noy] = -1;
					cout << "输入无效"<<endl;
					return ;
				}
				else if(noy-nxy==2){
					if(a[nox+1][noy-1]!="十"){
						a[nox][noy] = "相";
						zhenying[nox][noy] = -1;
						cout << "输入无效"<<endl;
						return ;
					}
					else{
						a[nxx][nxy] = "相";
						zhenying[nxx][nxy] = -1;
						Flag = 1;
						x = nxx,y = nxy;
					}
				}
				else if(nxy-noy==2){
					if(a[nox+1][noy+1]!="十"){
						a[nox][noy] = "相";
						zhenying[nox][noy] = -1;
						cout << "输入无效"<<endl;
						return ;
					}
					else{
						a[nxx][nxy] = "相";
						zhenying[nxx][nxy] = -1;
						Flag = 1;
						x = nxx,y = nxy;
					}
				}
			}
		}
};
class heishi{
	private:
		bool cunzai;
		int x,y;
	public:
		heishi(int x,int y){
			cunzai = 1,this->x = x,this->y = y,zhenying[x][y] = -1,a[x][y] = "士";
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>3||nxx<=0||nxy<4||nxy>6||cunzai==0){
				cout << "输入无效"<<endl; 
				return ;
			}
			if(zhenying[nox][noy]!=-1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(nxx==2&&nxy==4||nxx==2&&nxy==6||nxx==1&&nxy==5||nxx==3&&nxy==5){
				cout << "输入无效"<<endl;
				return ;
			}
			if(abs(nxx-nox)+abs(nxy-noy)!=2){
				cout << "输入无效"<<endl;
				return ; 
			}
			if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==-1){
				cout << "输入无效"<<endl;
				return ;
			}
			x = nxx,y = nxy;
			Flag = 1;
			a[nxx][nxy] = "士";
			a[nox][noy] = "十";
			zhenying[nxx][nxy] = -1;
			zhenying[nox][noy] = 0; 
			
		}
};
class heipao{
	private:
		bool cunzai;
		int x,y;
	public:
		heipao(int x,int y){
			this->x = x,this->y = y,cunzai = 1,zhenying[x][y] = -1,a[x][y] = "炮";
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=-1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==-1){
				cout << "输入无效"<<endl;
				return ;
			}
			if(nox==nxx&&noy==nxy){
				cout << "输入无效"<<endl;
				return ;
			}
			int mark = 0;
			int cnt = 0;
			if(nox==nxx){//1
				if(noy<nxy){//2
					cnt = 0;
					for(int i = noy+1;i <= nxy;i++){//3	
						if(a[nox][i]!="十"){//4
							cnt++;
						}//1
						if(cnt==1){//5
							for(int j = i+1;j<=nxy;j++){
								if(a[nox][j]!="十"&&zhenying[nox][j]==1){
									x = nxx,y = nxy;
									Flag = 1;
									a[nox][noy] = "十";
									a[nxx][nxy] = "炮";
									zhenying[nox][noy] = 0;
									zhenying[nxx][nxy] = -1;
									return ;
								}
								else if(a[nox][j]!="十"&&zhenying[nox][j]==-1){
									cout << "输入无效"<<endl;
									return ;
								}
							}
						}
					}
					if(cnt==0){
						x = nxx,y = nxy;
						Flag = 1;
						a[nox][noy] = "十";
						a[nxx][nxy] = "炮";
						zhenying[nox][noy] = 0;
						zhenying[nxx][nxy] = -1;
						return ;
					}
				}
				else if(noy>nxy){
					cnt = 0;
						for(int i = noy-1;i >= nxy;i--){	
						if(a[nox][i]!="十"){
							cnt++;
						}
						if(cnt==1){
							for(int j = i-1;j>=nxy;j--){
								if(a[nox][j]!="十"&&zhenying[nox][j]==1){
									x = nxx,y = nxy;
									Flag = 1;
									a[nox][noy] = "十";
									a[nxx][nxy] = "咆";
									zhenying[nox][noy] = 0;
									zhenying[nxx][nxy] = -1;
									return ;
								}
								else if(a[nox][j]!="十"&&zhenying[nox][j]==-1){
									cout << "输入无效"<<endl;
									return ;
								}
							}
						}
					}
					if(cnt==0){
						x = nxx,y = nxy;
						Flag = 1;
						a[nox][noy] = "十";
						a[nxx][nxy] = "炮";
						zhenying[nox][noy] = 0;
						zhenying[nxx][nxy] = -1;
						return ;
					}
				}
			}
			else if(noy==nxy){
					if(nox<nxx){
						cnt = 0;
					for(int i = nox+1;i <= nxx;i++){	
						if(a[i][noy]!="十"){
							cnt++;
						}
						if(cnt==1){
							for(int j = i+1;j<=nxx;j++){
								if(a[j][noy]!="十"&&zhenying[j][noy]==1){
									x = nxx,y = nxy;
									Flag = 1;
									a[nox][noy] = "十";
									a[nxx][nxy] = "炮";
									zhenying[nox][noy] = 0;
									zhenying[nxx][nxy] = -1;
									return ;
								}
								else if(a[j][noy]!="十"&&zhenying[j][noy]==-1){
									cout << "输入无效"<<endl;
									return ;
								}
							}
						}
					}
					if(cnt==0){
						x = nxx,y = nxy;
						Flag = 1;
						a[nox][noy] = "十";
						a[nxx][nxy] = "炮";
						zhenying[nox][noy] = 0;
						zhenying[nxx][nxy] = -1;
						return ;
					}
				}
				else if(nox>nxx){
					cnt = 0;
						for(int i = nox-1;i >= nxx;i--){	
						if(a[i][noy]!="十"){
							cnt++;
						}
						if(cnt==1){
							for(int j = i-1;j>=nxx;j--){
								if(a[j][noy]!="十"&&zhenying[j][noy]==1){
									x = nxx,y = nxy;
									Flag = 1;
									a[nox][noy] = "十";
									a[nxx][nxy] = "炮";
									zhenying[nox][noy] = 0;
									zhenying[nxx][nxy] = -1;
									return ;
								}
								else if(a[j][noy]!="十"&&zhenying[j][noy]==-1){
									cout << "输入无效"<<endl;
									return ;
								}
							}
						}
					}
					if(cnt==0){
						x = nxx,y = nxy;
						Flag = 1;
						a[nox][noy] = "十";
						a[nxx][nxy] = "炮";
						zhenying[nox][noy] = 0;
						zhenying[nxx][nxy] = -1;
						return ;
					}
				}
			}
		}
};

class heizu{
	private:
		bool cunzai;
		int x,y;
	public:
		heizu(int x,int y){
			this->x = x,this->y = y,zhenying[x][y] = -1,a[x][y] = "卒",cunzai = 1;
		}
		int getpx(){
			return x;
		}
		int getpy(){
			return y;
		}
		void move(int nox,int noy,int nxx,int nxy){
			if(nxx>=11||nxx<=0||nxy>=10||nxy<=0||cunzai==0){
				cout << "输入无效"<<endl;
				return ;
			}
			if(zhenying[nox][noy]!=-1){
				cunzai = 0;
				cout << "输入错误"<<endl;
				return ;
			}
			if(nox<=5&&nxy!=noy){
				cout << "输入无效"<<endl;
				return ;
			}
			if(nox<=5&&nox>=nxx){
				cout << "输入无效"<<endl;
				return ;
			}
			if(abs(nxx-nox)+abs(nxy-noy)!=1){
				cout << "输入无效"<<endl;
				return ; 
			}
			if(nox<=5&&nxy==noy&&a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==-1){
				cout << "输入无效"<<endl;
				return ;
			}
			if(nox<=5){
				a[nox][noy] = "十";
				zhenying[nxx][nxy] = -1;
				zhenying[nox][noy] = 0;
				a[nxx][nxy] = "卒";
				Flag = 1;
				x = nxx,y = nxy;
				return ;
			}
			else if(nox>5){
				if(nox>nxx){
					cout << "输入无效"<<endl;
					return ;
				}
				else if(a[nxx][nxy]!="十"&&zhenying[nxx][nxy]==-1){
					cout << "输入无效"<<endl;
					return ;
				}
				else {
					Flag = 1;
					a[nox][noy] = "十";
					zhenying[nox][noy] = 0;
					zhenying[nxx][nxy] = -1;
					a[nxx][nxy] = "卒";
					x = nxx,y = nxy;
					return ;
				}
			}
		}
};
int main() {
	system("color 0A");
  //  printf("hello color :)\n");
	init();
	hongche hongChe1(10,1),hongChe2(10,9);
	hongma hongMa1(10,2),hongMa2(10,8);
	hongxiang hongXiang1(10,3),hongXiang2(10,7);
	hongshi hongShi1(10,4),hongShi2(10,6);
	hongshuai hongShuai(10,5);
	hongpao hongPao1(8,2),hongPao2(8,8);
	hongbing hongBing1(7,1),hongBing2(7,3),hongBing3(7,5),hongBing4(7,7),hongBing5(7,9);
	heiche heiChe1(1,1),heiChe2(1,9); 
	heima heiMa1(1,2),heiMa2(1,8);
	heixiang heiXiang1(1,3),heiXiang2(1,7); 
	heishi heiShi1(1,4),heiShi2(1,6);
	heipao heiPao1(3,2),heiPao2(3,8);
	heijiang heiJiang(1,5);
	heizu heiZu1(4,1),heiZu2(4,3),heiZu3(4,5),heiZu4(4,7),heiZu5(4,9);
	int flag = 1;
	int Case = 1;
	while(flag){
		
		if(Case%2==1){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
			cout << "轮到红方走棋   当前为第"<<Case<<"步"<<endl<<endl;
		}
		else {
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
			cout << "轮到蓝方走棋   当前为第"<<Case<<"步"<<endl<<endl;
		}
		
//		string qizi,nop,way,nxp;
		int nox,noy,nxx,nxy; 
		string qizi;
		while(1){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                            FOREGROUND_RED | 
                            FOREGROUND_GREEN | 
                            FOREGROUND_BLUE |
                            FOREGROUND_INTENSITY);
			cout << "请输入:"<<endl;
			cin >> qizi;
		cin >> nox >> noy >> nxx >> nxy;//nextposition 
		cout << endl<<endl<<endl;
		if(qizi=="車"){
			if(nox==hongChe1.getpx()&&noy==hongChe1.getpy()){
				hongChe1.move(nox,noy,nxx,nxy);
				break;
			} 
			else if(nox==hongChe2.getpx()&&noy==hongChe2.getpy()){
				 hongChe2.move(nox,noy,nxx,nxy);
				 break;
			}
			else{
				cout << "输入无效"<<endl;
				}
			}
			else if(qizi=="车"){
				if(nox==heiChe1.getpx()&&noy==heiChe1.getpy()){
				heiChe1.move(nox,noy,nxx,nxy);
				break;
			} 
			else if(nox==heiChe2.getpx()&&noy==heiChe2.getpy()){
				 heiChe2.move(nox,noy,nxx,nxy);
				 break;
			}
			else{
				cout << "输入无效"<<endl;
				}
			}
			else if(qizi=="馬"){
				if(nox==hongMa1.getpx()&&noy==hongMa1.getpy()){
					hongMa1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==hongMa2.getpx()&&noy==hongMa2.getpy()){
					 hongMa2.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
			}
			else if(qizi=="马"){
				if(nox==heiMa1.getpx()&&noy==heiMa1.getpy()){
					heiMa1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==heiMa2.getpx()&&noy==heiMa2.getpy()){
					 heiMa2.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
			}
			else if(qizi=="象"){
				if(nox==hongXiang1.getpx()&&noy==hongXiang1.getpy()){
					hongXiang1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==hongXiang2.getpx()&&noy==hongXiang2.getpy()){
					 hongXiang2.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
				}
			else if(qizi=="相"){
				if(nox==heiXiang1.getpx()&&noy==heiXiang1.getpy()){
					heiXiang1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==heiXiang2.getpx()&&noy==heiXiang2.getpy()){
					 heiXiang2.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
			} 
			 
			 
			else if(qizi=="仕"){
				if(nox==hongShi1.getpx()&&noy==hongShi1.getpy()){
					hongShi1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==hongShi2.getpx()&&noy==hongShi2.getpy()){
					 hongShi2.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
				}
			else if(qizi=="士"){
				if(nox==heiShi1.getpx()&&noy==heiShi1.getpy()){
					heiShi1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==heiShi2.getpx()&&noy==heiShi2.getpy()){
					 heiShi2.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
				}
				
			else if(qizi=="帅"){
					if(nox==hongShuai.getpx()&&noy==hongShuai.getpy()){
					hongShuai.move(nox,noy,nxx,nxy);
					break;
				} 
				else{
					cout << "输入无效"<<endl;
					}
			}
			else if(qizi=="将"){
				if(nox==heiJiang.getpx()&&noy==heiJiang.getpy()){
					heiJiang.move(nox,noy,nxx,nxy);
				break;
				} 
				else{
					cout << "输入无效"<<endl;
					}
			}
			else if(qizi=="咆"){
				if(nox==hongPao1.getpx()&&noy==hongPao1.getpy()){
					hongPao1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==hongPao2.getpx()&&noy==hongPao2.getpy()){
					 hongPao2.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
			}
			else if(qizi=="炮"){
				if(nox==heiPao1.getpx()&&noy==heiPao1.getpy()){
					heiPao1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==heiPao2.getpx()&&noy==heiPao2.getpy()){
					 heiPao2.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
			}
			else if(qizi == "兵"){
				if(nox==hongBing1.getpx()&&noy==hongBing1.getpy()){
					hongBing1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==hongBing2.getpx()&&noy==hongBing2.getpy()){
					 hongBing2.move(nox,noy,nxx,nxy);
					 break;
				}
				else if(nox==hongBing3.getpx()&&noy==hongBing3.getpy()){
					 hongBing3.move(nox,noy,nxx,nxy);
					 break;
				}
				else if(nox==hongBing4.getpx()&&noy==hongBing4.getpy()){
					 hongBing4.move(nox,noy,nxx,nxy);
					 break;
				}
				else if(nox==hongBing5.getpx()&&noy==hongBing5.getpy()){
					 hongBing5.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
			}
			else if(qizi=="卒"){
				if(nox==heiZu1.getpx()&&noy==heiZu1.getpy()){
					heiZu1.move(nox,noy,nxx,nxy);
					break;
				} 
				else if(nox==heiZu2.getpx()&&noy==heiZu2.getpy()){
					 heiZu2.move(nox,noy,nxx,nxy);
					 break;
				}
				else if(nox==heiZu3.getpx()&&noy==heiZu3.getpy()){
					 heiZu3.move(nox,noy,nxx,nxy);
					 break;
				}
				else if(nox==heiZu4.getpx()&&noy==heiZu4.getpy()){
					 heiZu4.move(nox,noy,nxx,nxy);
					 break;
				}
				else if(nox==heiZu5.getpx()&&noy==heiZu5.getpy()){
					 heiZu5.move(nox,noy,nxx,nxy);
					 break;
				}
				else{
					cout << "输入无效"<<endl;
					}
			}
//			int cnt1 = 0;
//			if(hongShuai.getpy()==heiJiang.getpy()){
//				for(int i = heiJiang.getpx()+1;i < hongShuai.getpx();i++){
//					if(a[i][hongShuai.getpy()]!="十"){
//						cnt1++;
//					}
//				}
//				if(cnt==0){
//					cout << "输入无效"<<endl;
//					a[nox][noy] = qizi;
//					a[nxx][]
//					Flag = 0; 
//				}
//				else 
//				break;
//			}
//			else
//			break;
		}
		
		if(Flag==1){
			Case++;
			cout << "    1 2 3 4 5 6 7 8 9"<<endl;
			for(int i = 1;i <= 10;i++){
				if(i==10){
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
	                            FOREGROUND_RED | 
	                            FOREGROUND_GREEN | 
	                            FOREGROUND_BLUE |
	                            FOREGROUND_INTENSITY);
					cout << "10  ";
				}
				else{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
	                            FOREGROUND_RED | 
	                            FOREGROUND_GREEN | 
	                            FOREGROUND_BLUE |
	                            FOREGROUND_INTENSITY);
					cout << i << "   ";
				} 
				for(int j = 1;j <= 9;j++){
					
					if(zhenying[i][j] == 1){
						SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
						cout << a[i][j];
					}
					else if(zhenying[i][j] == -1){
						SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
						cout << a[i][j];
					}
					else{
						SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
	                            FOREGROUND_RED | 
	                            FOREGROUND_GREEN | 
	                            FOREGROUND_BLUE |
	                            FOREGROUND_INTENSITY);
	                            cout << a[i][j];
					} 
				}
				cout << endl;
			}
			cout << endl << endl << endl;
		}
		Flag  = 0;
		int findx = hongShuai.getpx(),findy = hongShuai.getpy();
		if(zhenying[findx][findy]!=1){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
			cout << "蓝方胜"<<endl;
			flag = 0;
		}
		//findx = heiJiang.getpx(),findy = heiJiang.getpy();
		if(zhenying[heiJiang.getpx()][heiJiang.getpy()]!=-1){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
			cout << "红方胜"<<endl;
			flag = 0;
		}
		
		
		
		
		
		
		
		
		
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                            FOREGROUND_RED | 
                            FOREGROUND_GREEN | 
                            FOREGROUND_BLUE |
                            FOREGROUND_INTENSITY);
	}
	
	
	
	
	
	
	
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                            FOREGROUND_RED | 
                            FOREGROUND_GREEN | 
                            FOREGROUND_BLUE |
                            FOREGROUND_INTENSITY);
     getchar(); 
     system("pause"); 
	return 0;
}

蟹蟹看到这里~ 欢迎讨论喔

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值