c语言编写五子棋游戏,出错 5C

本人在意c语言编写老师布置的一项五子棋游戏的作业,编译运行通过,但是在打开的界面上无法绘制棋子,求大神解答!谢谢!
代码:
#include
#include
#include
//-------------------------------------------------
//画棋盘
void drawpane()
{
for(int i=50;i<=900;i+=50)
{
line(i,50,i,700);
}
for(int j=50;j<=700;j+=50)
{
line(50,j,900,j);
}

}
//----------------------------------------------------
//定义一个二维数组,里面存放棋子,白子为1,黑子为0
void Initq(int arr[14][18])
{
for(int i=0;i {
for(int j=0;j {
arr[i][j]=0;
}
}
}
//--------------------------------------------------
//画棋子,奇数画白子,偶数画黑子
void drawqizi(int arr[14][18])
{
MOUSEMSG m; //定义鼠标消息
int color=0;
while(1)
{
m=GetMouseMsg();//获取一条鼠标消息
if(WM_LBUTTONDOWN==m.uMsg)
{
color++;
int x=m.x;
int y=m.y;
if(1==color%2)
{
setcolor(0xffffff);
setfillstyle(0xffffff);
arr[x][y]=0;
}
else
{
setcolor(0);
setfillstyle(0);
arr[x][y]=1;
}
if(m.x>=100&&m.x<=900&&m.y>=100&&m.y<=700)
{
fillcircle((m.x+50)/50*50,(m.y+50)/50*50,20);
setfillstyle(0x0000ff);
}

    }
}

}
//-------------------------------------------------------
void check_win(int arr[14][18])
{
//判断横方向
MOUSEMSG m;
int x=m.x;
int y=m.y;
if( arr[x][y]==0&&arr[x-1][y]==0&&arr[x-2][y]==0&&arr[x-3][y]==0&&arr[x-4][y]==0)
{
printf("白子胜利!");

}
else if( arr[x][y]==0&&arr[x+1][y]==0&&arr[x+2][y]==0&&arr[x+3][y]==0&&arr[x+4][y]==0)
{
    printf("白子胜利!");

}
else if ( arr[x][y]==1&&arr[x+1][y]==1&&arr[x+2][y]==1&&arr[x+3][y]==1&&arr[x+4][y]==1)
{
    printf("黑子胜利!");

}
else if(arr[x][y]==1&&arr[x-1][y]==1&&arr[x-2][y]==1&&arr[x-3][y]==1&&arr[x-4][y]==1)
{
  printf("黑子胜利!");
}

}
int main()
{
int arr[14][18];

initgraph(1000,800,0);
setbkcolor(0x408030);
cleardevice();
RECT r={0,0,900,100};
drawtext("五子棋游戏",&r,DT_TOP);
drawpane();
drawqizi(arr);
bar3d(400,10,500,40,2,1);
Initq(arr);
check_win(arr);//棋盘大小14行18列
return 0;

}

2个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问