下载此文档

c语言课程设计 黑白棋对战.doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
c语言课程设计_黑白棋对战C语言课程设计_黑白棋对战/**/#include"" /*图形系统头文件*/#defineLEFT0x4b00 /*光标左键值*/#defineRIGHT0x4d00/*光标右键值*/#defineDOWN0x5000/*光标下键值*/#defineUP0x4800/*光标上键值*/#defineESC0x011b/*ESC键值*/#defineENTER0x1c0d/*回车键值*/inta[8][8]={0},key,score1,score2;/*具体分数以及按键与存放棋子的变量*/charplayone[3],playtwo[3];/*两个人的得分转换成字符串输出*/voidplaytoplay(void);/*人人对战函数*/voidDrawQp(void);/*画棋盘函数*/voidSetPlayColor(intx);/*设置棋子第一次的颜色*/voidMoveColor(intx,inty);/*恢复原来棋盘状态*/intQpChange(intx,inty,intz);/*判断棋盘的变化*/voidDoScore(void);/*处理分数*/voidPrintScore(intn);/*输出成绩*/voidplayWin(void);/*输出胜利者信息*//******主函数*********/voidmain(void){  intgd=DETECT,gr;  initgraph(&gd,&gr,"c:\\tc");/*初始化图形系统*/  DrawQp();/*画棋盘*/  playtoplay();/*人人对战*/  getch();  closegraph();/*关闭图形系统*/}voidDrawQp()/*画棋盘*/{  inti,j;  score1=score2=0;/*棋手一开始得分都为0*/  setbkcolor(BLUE);  for(i=100;i<=420;i+=40)  {     line(100,i,420,i);/*画水平线*/     line(i,100,i,420);/*画垂直线*/  }  setcolor(0);/*取消圆周围的一圈东西*/  setfillstyle(SOLID_FILL,15);/*白色实体填充模式*/  fillellipse(500,200,15,15);/*在显示得分的位置画棋*/  setfillstyle(SOLID_FILL,8);/*黑色实体填充模式*/  fillellipse(500,300,15,15);  a[3][3]=a[4][4]=1;/*初始两个黑棋*/  a[3][4]=a[4][3]=2;/*初始两个白棋*/  setfillstyle(SOLID_FILL,WHITE);  fillellipse(120+3*40,120+3*40,15,15);  fillellipse(120+4*40,120+4*40,15,15);  setfillstyle(SOLID_FILL,8);  fillellipse(120+3*40,120+4*40,15,15);  fillellipse(120+4*40,120+3*40,15,15);  score1=score2=2;/*有棋后改变分数*/  DoScore();/*输出开始分数*/}voidplaytoplay()/*人人对战*/{  intx,y,t=1,i,=0;  while(1)/*换棋手走棋*/  {     x=120,y=80;/*每次棋子一开始出来的坐标,x为行坐标,y为列坐标*/     while(1)/*具体一个棋手走棋的过程*/     { PrintScore(1);/*输出棋手1的成绩*/ PrintScore(2);/*输出棋手2的成绩*/ SetPlayColor(t);/*t变量是用来判断棋手所执棋子的颜色*/ fillellipse(x,y,15,15); key=bioskey(0);/*接收按键*/ if(key==ESC)/*跳出游戏*/    break; else if(key==ENTER)/*如果按键确定就可以跳出循环*/ {    if(y!=80&&a[(x-120)/40][(y-120)/40]!=1&&a[(x-120)/40][(y-120)/40]!=2)/*如果落子位置没有棋子*/    {       if(t%2==1)/*如果是棋手1移动*/   a[(x-120)/40][(y-120)/40]=1;       else/*否则棋手2移动*/   a[(x-120)/40][(y-120)/40]=2;    if(!QpChange(x,y,t

c语言课程设计 黑白棋对战 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人花开花落
  • 文件大小30 KB
  • 时间2019-06-09