写一段五子棋C++代码
时间: 2023-03-15 11:07:41 浏览: 124
C++五子棋源代码
#include<stdio.h>
int main()
{
int chessboard[15][15],i,j;
//初始化棋盘
for(i=0;i<15;i++)
{
for(j=0;j<15;j++)
{
chessboard[i][j]=0;
}
}
//游戏过程
while(1)
{
//黑棋落子
printf("请黑方下棋:\n");
scanf("%d%d",&i,&j);
chessboard[i][j]=1;
//判断输赢
if(checkwin(1))
{
printf("黑方赢了!\n");
break;
}
//白棋落子
printf("请白方下棋:\n");
scanf("%d%d",&i,&j);
chessboard[i][j]=2;
//判断输赢
if(checkwin(2))
{
printf("白方赢了!\n");
break;
}
}
return 0;
}
//检查是否胜利
int checkwin(int chessman)
{
int i,j,count;
//横向检查
for(i=0;i<15;i++)
{
count=0;
for(j=0;j<15;j++)
{
if(chessboard[i][j]==chessman)
count++;
else
count=0;
if(count==5)
return 1;
}
}
//纵向检查
for(j=0;j<15;j++)
{
count=0;
for(i=0;i<15;i++)
{
if(chessboard[i][j]==chessman)
count++;
else
count=0;
if(count==5)
return 1;
}
}
//左斜检查
for(i=0;i<11;i++)
{
for(j=0;j<11;j++)
{
count=0;
int k;
for(k=0;k<5;k++)
{
if(chessboard[i+k][j+k]==chessman)
count++;
else
count=0;
if(count==5)
return 1;
}
}
}
//右斜检查
for(i=0;i<11;i++)
{
for(j=4;j<15;j++)
{
count=0;
int k;
for(k=0;k<5;k++)
{
if(chessboard[i+k][j-k]==chessman)
count++;
else
count=0;
if(count==5)
return 1;
}
}
}
return 0;
}我不明白你的问题,但是如果你在问如何用C语言编写一段五子棋的代码,那么我可以给你一个例子:
阅读全文