C语言编程设计(黑白棋部分)

C语言编程设计(黑白棋部分)

ID:928331

大小:45.51 KB

页数:9页

时间:2017-09-25

C语言编程设计(黑白棋部分)_第1页
C语言编程设计(黑白棋部分)_第2页
C语言编程设计(黑白棋部分)_第3页
C语言编程设计(黑白棋部分)_第4页
C语言编程设计(黑白棋部分)_第5页
资源描述:

《C语言编程设计(黑白棋部分)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include"graphics.h"   /*图形系统头文件*/#defineLEFT0x4b00   /*光标左键值*/#defineRIGHT0x4d00/*光标右键值*/#defineDOWN0x5000/*光标下键值*/#defineUP0x4800/*光标上键值*/#defineESC0x011b/*ESC键值*/#defineENTER0x1c0d/*回车键值*/inta[8][8]={0},key,score1,score2;/*具体分数以及按键与存放棋子的变量*/charpla

2、yone[3],playtwo[3];/*两个人的得分转换成字符串输出*/voidplaytoplay(void);/*人人对战函数*/voidDrawQp(void);/*画棋盘函数*/voidSetPlayColor(intx);/*设置棋子第一次的颜色*/voidMoveColor(intx,inty);/*恢复原来棋盘状态*/intQpChange(intx,inty,intz);/*判断棋盘的变化*/voidDoScore(void);/*处理分数*/voidPrintScore(int

3、n);/*输出成绩*/voidplayWin(void);/*输出胜利者信息*//******主函数*********/voidmain(void){    intgd=DETECT,gr;    initgraph(&gd,&gr,"c:\tc");/*初始化图形系统*/    DrawQp();/*画棋盘*/    playtoplay();/*人人对战*/    getch();    closegraph();/*关闭图形系统*/}voidDrawQp()/*画棋盘*/{    inti

4、,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(

5、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);    fill

6、ellipse(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,j,cc=0;

7、    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)

8、;/*接收按键*/   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)/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。