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;
}
蟹蟹看到这里~ 欢迎讨论喔