qq_36908686 2016-12-03 07:20 采纳率: 0%
浏览 1393

求大神帮忙五子棋c++源代码答辩一下呗,要结课交作业

五子棋
#include
#include
#include
using namespace std;
void init_wel();//初始化界面
int bla=1,whr,x,y,poi_ch[20][20];//判断棋子的种类
int Map();//棋盘
int put_ch(int m,int n);//放置棋子
int judge();//判断是否有一方胜利
int main()
{
memset(poi_ch,0,sizeof(poi_ch));
init_wel();//初始化
Map();
while(1)//实现了游戏的循环进行
{
whr=1;
scanf("%d%d",&x,&y);
poi_ch[x][y]=put_ch(x,y);
Map();
bla++;
judge();
if(!whr)
{
memset(poi_ch,0,sizeof(poi_ch));
bla=1;
Map();
}
}
return 0;
}
void init_wel()//初始化进入界面
{
for(int i=0; i printf(". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n");
printf(". . . . . . . . . . . . . . Hello. .Boys and Girls . . . . . . . . . . . . . . . . .\n");
for(int i=0; i printf(". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n");
system("pause");//实现了一个按任意键继续的功能
}
int Map()//每次都实现刷新操作
{
system("cls");
for(int j=0; j {
poi_ch[0][j]=j;
printf("%3d",poi_ch[0][j]);
}
printf("\n");
for(int i=1; i {
for(int j=0; j {
if(j==0)
{
poi_ch[i][0]=i;
printf("%3d",poi_ch[i][0]);
}
else if (i>0&&j>0)
{
if(poi_ch[i][j]==0)
{
printf(" *");
}
if(poi_ch[i][j]==21)
{
printf(" ●");
}
if(poi_ch[i][j]==22)
{
printf(" ○");
}
}
}
printf("\n");
}
return 0;
}
int put_ch(int m,int n)//放置棋子
{
if(bla%2==1&&poi_ch[m][n]==0)
{
poi_ch[m][n]=21;
return poi_ch[m][n];
}
else
{
if(poi_ch[m][n]==21)
{
bla--;
return poi_ch[m][n];
}
if(poi_ch[m][n]==22)
{
bla--;
return poi_ch[m][n];
}
}
if(bla%2==0&&poi_ch[m][n]==0)
{
poi_ch[m][n]=22;
return poi_ch[m][n];
}
else
{
if(poi_ch[m][n]==21)
{
bla--;
return poi_ch[m][n];
}
if(poi_ch[m][n]==22)
{
bla--;
return poi_ch[m][n];
}
}
return 0;
}
int judge()//对于最终的结果进行判断
{
for(int i=1; i<20; i++)
{
for(int j=1; j<20; j++)
{
if(poi_ch[i][j]==21&&poi_ch[i][j+1]==21&&poi_ch[i][j+2]==21&&poi_ch[i][j+3]==21&&poi_ch[i][j+4]==21)
{
whr=0;
printf("白子胜\n");
system("pause");
break;
}
if(poi_ch[i][j]==22&&poi_ch[i][j+1]==22&&poi_ch[i][j+2]==22&&poi_ch[i][j+3]==22&&poi_ch[i][j+4]==22)
{
whr=0;
printf("黑子胜\n");
system("pause");
break;
}
if(poi_ch[i][j]==21&&poi_ch[i+1][j]==21&&poi_ch[i+2][j]==21&&poi_ch[i+3][j]==21&&poi_ch[i+4][j]==21)
{
whr=0;
printf("白子胜\n");
system("pause");
break;
}
if(poi_ch[i][j]==22&&poi_ch[i+1][j]==22&&poi_ch[i+2][j]==22&&poi_ch[i+3][j]==22&&poi_ch[i+4][j]==22)
{
whr=0;
printf("黑子胜\n");
system("pause");
break;
}
if(poi_ch[i][j]==21&&poi_ch[i+1][j+1]==21&&poi_ch[i+2][j+2]==21&&poi_ch[i+3][j+3]==21&&poi_ch[i+4][j+4]==21)
{
whr=0;
printf("白子胜\n");
system("pause");
break;
}
if(poi_ch[i][j]==22&&poi_ch[i+1][j-1]==22&&poi_ch[i+2][j-2]==22&&poi_ch[i+3][j-3]==22&&poi_ch[i+4][j-4]==22)
{
whr=0;
printf("黑子胜\n");
system("pause");
break;
}
}
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-12-03 08:16
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记