Katherinexd 2016-04-25 10:29 采纳率: 35.3%
浏览 1771
已结题

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

本人在意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条回答

  • threenewbee 2016-04-25 16:02
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?