急~跪求c语言程序
五班
{
int x;
int y;
int m;
int n;
int num _ xy
int num _ mn
夏尔·潘琪[20][20];
公共:
五(int X = 0,int Y =0,int M = 0,int N = 0,int Num_xy = 0,int Num_mn = 0)
{
x = X
y = Y
m = M
n = N
num _ xy = Num _ xy
num _ mn = Num _ mn
for(int I = 0;我& lt20 ;i ++)
{
for(int j = 0;j & lt20 ;j ++)
潘琪[i][j] = ' ';
}
}
void getpointxy();
void getpoint Mn();
void showqipan();
void打印();
bool is xywin();
bool ismn win();
};
void five::getpointxy()
{
cout & lt& lt"请输入第一个"
CIN & gt;& gtx & gt& gty;
if(x & lt;= 0 | | y & lt= 0 | | x & gt20 | | y & gt20 )
{
cout & lt& lt超出范围,请重新输入
getpointxy();
}
else if(潘琪[y-1][x-1]!= '.')
{
cout & lt& lt您要求的位置已经有棋子,请重新输入:< & ltendl
getpointxy();
}
其他
{
潘琪[y-1][x-1]= ' o ';
num _ xy++;
}
}
void five::getpointmn()
{
cout & lt& lt"请输入第一个"
CIN & gt;& gtm & gt& gtn;
如果(m & lt= 0 | | n & lt= 0 | | m & gt20 | | n >;20 )
{
cout & lt& lt超出范围,请重新输入
getpointmn();
}
else if(潘琪[n-1][m-1]!='.')
{
cout & lt& lt您要求的位置已经有棋子,请重新输入:< & ltendl
getpointmn();
}
其他
{
潘琪[n-1][m-1]= ' x ';
num _ mn++;
}
}
void five::showqipan()
{
int p=0,q = 0;
for(int I = 0;我& lt= 20 ;i++)
{
如果(p & lt10)
{
cout & lt& ltp & lt& lt' ';
}
其他
cout & lt& ltp;
p++;
}
cout & lt& ltendl
for(I = 0;我& lt20 ;i++)
{
如果(i & gt=0)
{
q++;
如果(q & lt10)
cout & lt& ltq & lt& lt' ';
其他
cout & lt& ltq;
}
for(int j = 0;j & lt20 ;j ++)
cout & lt& lt潘琪[I][j]& lt;& lt' ' ;
cout & lt& ltendl
}
}
void five::print()
{
int p=0,q = 0;
for(int I = 0;我& lt= 20 ;i++)
{
如果(p & lt10)
{
cout & lt& ltp & lt& lt' ';
}
其他
cout & lt& ltp;
p++;
}
cout & lt& ltendl
for(I = 0;我& lt20 ;i++)
{
如果(i & gt=0)
{
q++;
如果(q & lt10)
cout & lt& ltq & lt& lt' ';
其他
cout & lt& ltq;
}
for(int j = 0;j & lt20 ;j ++)
{
cout & lt& lt潘琪[I][j]& lt;& lt' ' ;
}
cout & lt& ltendl
}
}
bool five::IsxyWin()
{
int num1=1,num2=1,num3=1,num 4 = 1;
for(int I = x;我& ltx+5 & amp;& ampx+5 & lt;20 ;i ++)
{
如果(潘琪[y-1][i] == ' . ')
打破;
其他
num 1++;
}
for(I = x-2;我& gt= 0 ;我-)
{
如果(潘琪[y-1][i] == ' . ')
打破;
其他
num 1++;
}
for(I = y;我& lty+5;i ++)
{
如果(潘琪[i][x-1] == ' . ')
打破;
其他
num 2++;
}
for(I = y-2;我& gt= 0 ;我-)
{
如果(潘琪[i][x-1] == ' . ')
打破;
其他
num 2++;
}
for(I = 0;我& lt5 & amp& ampx+I & lt;20 & amp& ampy+I & lt;20;i++)
{
如果(潘琪[x+i][y+i] == ' . ')
打破;
其他
num 3++;
}
for(I = 0;x-I-2 & gt;= 0 & amp& ampy-I-2 & gt;= 0 & amp& amp我& lt5;i++)
{
如果(潘琪[x-i-2][y-i-2] == ' . ')
打破;
其他
num 3++;
}
for(I = 0;x+I & lt;20 & amp& ampy-I-2 & gt;= 0 & amp& amp我& lt5;i ++)
{
如果(潘琪[y-i-2][x+i] == ' . ')
打破;
其他
num 4++;
}
for(I = 0;y+I & lt;20 & amp& ampx-I-2 & gt;= 0 & amp& amp我& lt5;i ++)
{
如果(潘琪[y+i][x-i-2] == ' . ')
打破;
其他
num 4++;
}
if(num 1 & gt;= 5 | | num 2 >;= 5 | | num 3 >;= 5 | | num 4 >;=5)
返回1;
其他
返回0;
}
bool five::IsmnWin()
{
int num1=1,num2=1,num3=1,num 4 = 1;
for(int I = m;我& ltm+5 & amp;& ampm+5 & lt;20 ;i ++)
{
如果(潘琪[n-1][i] == ' . ')
打破;
其他
num 1++;
}
for(I = m-2;我& gt= 0 ;我-)
{
如果(潘琪[n-1][i] == ' . ')
打破;
其他
num 1++;
}
for(I = n;我& ltn+5;i ++)
{
如果(潘琪[i][m-1] == ' . ')
打破;
其他
num 2++;
}
for(I = n-2;我& gt= 0 ;我-)
{
如果(潘琪[i][m-1] == ' . ')
打破;
其他
num 2++;
}
for(I = 0;我& lt5 & amp& ampm+I & lt;20 & amp& ampn+I & lt;20;i++)
{
如果(潘琪[m+i][n+i] == ' . ')
打破;
其他
num 3++;
}
for(I = 0;m-I-2 & gt;= 0 & amp& ampn-I-2 & gt;= 0 & amp& amp我& lt5;i++)
{
如果(潘琪[m-i-2][n-i-2] == ' . ')
打破;
其他
num 3++;
}
for(I = 0;m+I & lt;20 & amp& ampn-I-2 & gt;= 0 & amp& amp我& lt5;i ++)
{
如果(潘琪[n-i-2][m+i] == ' . ')
打破;
其他
num 4++;
}
for(I = 0;n+I & lt;20 & amp& ampm-I-2 & gt;= 0 & amp& amp我& lt5;i ++)
{
如果(潘琪[n+i][m-i-2] == ' . ')
打破;
其他
num 4++;
}
if(num 1 & gt;= 5 | | num 2 >;= 5 | | num 3 >;= 5 | | num 4 >;=5)
返回1;
其他
返回0;
}
void main()
{
五个a;
cout & lt& lt“欢迎体验这个游戏!这是这个游戏的棋盘:“
a . showqipan();
for(int I = 0;;i ++)
{
a . getpointxy();
a . print();
if(a.IsxyWin())
{
cout & lt& lt“白棋赢了!”& lt& ltendl
打破;
}
a . getpointmn();
a . print();
if(a.IsmnWin())
{
cout & lt& lt“黑的赢!”& lt& ltendl
打破;
}
}
}