五子棋程序代码.docx
上传人:qw****27 上传时间:2024-09-11 格式:DOCX 页数:7 大小:23KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

五子棋程序代码.docx

五子棋程序代码.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

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

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

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

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

/***************************************程序名称:五子棋****编译环境:vs2012****编辑作者:往事随风<1034882113>****最后修改:2013-07-25****项目类型:win32控制台程序****************************************/#include<graphics.h>#include<conio.h>//_kbhit()_getch()/******************宏定义区**********************/#defineBOARD_LEN640//棋盘大小#defineBOARD_WIDTH640#defineEXTRA_LEN200//右边提示区域的长度#defineSIZE40//棋盘小方格大小#defineROW14//棋盘为14*14/******************数据类型定义区******************//******************全局变量区**********************/IMAGEimg_chessboard;//背景IMAGEimg_box_black;//黑色棋盒IMAGEimg_box_white;//白色棋盒IMAGEimg_bkbox;//右边区域背景IMAGEimg_time;//显示时间IMAGEimg_count[11];//十个数字和一个冒号intm_x=(BOARD_LEN-SIZE*ROW)/2;//居中intm_y=(BOARD_WIDTH-SIZE*ROW)/2;bytegobang[ROW+1][ROW+1]={0};//byte不能表示负数0:无子1:黑子2:白子bytetype=0;//1:白棋0:黑棋boolreplay=true;//false游戏结束,true代表游戏运行中DWORDb_oldtime;//黑棋花费时间DWORDw_oldtime;//白棋花费时间DWORDstart_time;//游戏起始时间/******************函数声明区**********************/voidinit_system();voidinit_img();voidinit_chessboard();voidgetMouse(POINT*point);voiddeal_mousemsg(POINTpoint);voidgame_win(intx,inty);voidquit_game();voidprint_msg();voidshow_time(DWORDnewtime);voidprint_time(DWORDtime);/******************主函数区**********************/voidmain(){POINTpoint;//存储坐标位置while(true){init_system();while(replay){getMouse(&point);deal_mousemsg(point);}}}/******************函数定义区**********************/voidprint_time(DWORDtime){inty=0;intminuteh=time/(600*1000);//分钟十位time%=(600*1000);intminutel=time/(60*1000);//分钟个位time%=(60*1000);intsecondh=time/(10*1000);//秒钟十位intsecondl=time%(10*1000);//秒钟个位intx=BOARD_LEN+5-m_x;if(type)//白棋y=EXTRA_LEN+5-m_y;elsey=BOARD_WIDTH/2+EXTRA_LEN+5-m_y;//黑棋putimage(x+80,y+45,&img_count[minuteh]);//分钟十位putimage(x+95,y+45,&img_count[minutel]);//分钟个位putimage(x+125,y+45,&img_count[secondh]);//秒十位putimage(x+140,y+45,&img_count[secondl/1000]);//秒个位}/*显示倒计时*/voidshow_time(DWORDnewtime){DWORDtmp=b_oldtime+w_oldtime+start_time;//游戏运行的时间if(type)//白棋{w_oldtime+=newtime-tmp;//计算白棋用的时间print_time(w_oldtime);}else//黑棋{b_oldtime+=n