C语言编写五子棋.doc
上传人:qw****27 上传时间:2024-09-11 格式:DOC 页数:11 大小:158KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

C语言编写五子棋.doc

C语言编写五子棋.doc

预览

免费试读已结束,剩余 1 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第页/*===============================================五子棋================================================*/#include"stdio.h"#include"graphics.h"#defineLEFT0x4b00/*左键值*/#defineRIGHT0x4d00/*右键值*/#defineDOWN0x5000/*下键值*/#defineUP0x4800/*上键值*/#defineESC0x011b/*ESC键值*/#defineENTER0x1c0d/*回车键值*/intx=-1,y=0;/*纪录棋子移动点的坐标值*/intmax_x,max_y;intboard_flag[15][15];/*棋盘每格的状态纪录数组*/voiddraw_board();/*画棋盘15*15的棋盘*/voidshow_init(intpat);/*棋子出现的初始位值*/voidhide();/*恢复棋子上一步的状态*/voidshow(intpat);/*显示棋子当前状态*/voidmove();/*移动棋子*/intis_win(intpat);/*判断哪方赢了*/voidmain(){intdriver=DETECT,mode;inti,j;for(i=0;i<15;i++)for(j=0;j<15;j++){board_flag[i][j]=0;}initgraph(&driver,&mode,"");draw_board();show_init(0);move();getch();closegraph();}/*=======================================================================*/voiddraw_board(){inti;max_x=getmaxx();max_y=getmaxy();setfillstyle(1,BLUE);/*设置棋盘背景为蓝色*/bar(0,0,max_x,max_y);for(i=-7;i<=8;i++){line(max_x/2-7*26,max_y/2+i*26,max_x/2+8*26,max_y/2+i*26);/*画水平方向的线*/line(max_x/2+i*26,max_y/2-7*26,max_x/2+i*26,max_y/2+8*26);/*画垂直方向的线*/}}/*==========================================================================*/voidshow_init(intpat){setcolor(BLUE);if(pat==0){setfillstyle(1,BLACK);/*设置填充的颜色*/}else{setfillstyle(1,WHITE);/*设置填充的颜色*/}x=-1;y=0;fillellipse(max_x/2-8*26+13,max_y/2-7*26+13,12,12);/*画出初始位值出现的棋子*/}/*============================================================================*/voidhide(){intm;m=board_flag[x][y];switch(m){case0:/*标志位为零时,说明此处背景色为蓝色*/setfillstyle(1,BLUE);break;case1:/*标志为1时,说明此处为一黑色棋子*/setfillstyle(1,BLACK);break;case2:/*标志为2时,说明此处为一白色棋子*/setfillstyle(1,WHITE);break;default:break;}fillellipse(max_x/2+(x-7)*26+13,max_y/2+(y-7)*26+13,12,12);/*恢复棋子上一步状态*/}/*=============================================================================*/voidshow(intpat){switch(pat){case0:setfillstyle(1,BLACK);break;case1:setfillstyle(1,WHITE);br