c语言课程设计经典例题扫雷

c语言课程设计经典例题扫雷

ID:42615254

大小:88.50 KB

页数:28页

时间:2019-09-18

c语言课程设计经典例题扫雷_第1页
c语言课程设计经典例题扫雷_第2页
c语言课程设计经典例题扫雷_第3页
c语言课程设计经典例题扫雷_第4页
c语言课程设计经典例题扫雷_第5页
资源描述:

《c语言课程设计经典例题扫雷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、扫雷源代码,完美运行/*模拟扫雷游戏*/#include#include#include#include#include#include#includeunionREGSregs;intsize=15;/*用于表示每个方块的大小(正方形的边长)*/intpix,piy=50;/*pix,piy是矩阵的偏移量*/charb[2]="1";/*用于显示方格周围的雷的个数*/intpan[30][16];

2、/*用于记录盘面的情况:0:没有、9:有雷、1~8:周围雷的个数*/intpan1[30][16];/*pan1[][]纪录当前的挖雷情况,0:没有操作、1:打开了、2:标记了*/inttt;/*纪录时间参数*/intEflags;/*用于标记鼠标按钮的有效性,0:有效,1:无效,2:这是鼠标的任意键等于重新开始*/intMsinit();voidDraw(intx,inty,intsizex,intsizey);voidFacedraw(intx,inty,intsizel,intk);voidDead(intsizel,i

3、ntx,inty);voidSetmouse(intxmax,intymax,intx,inty);intMsread(int*xp,int*yp,int*bup,structtimet1,intk);voidDraw1(intx,inty);intOpen(intx,inty);floatRandom();voidHave(intsum,intx,inty,intxx,intyy);voidHelp();voidCoread();voidDdraw2(intx,inty);/*下面是主函数*/main(){intmode=V

4、GAHI,devices=VGA;/*图形模式初始化的变量*/charams;/*鼠标操作中的标志变量*/intxms,yms,bms;/*鼠标的状态变量*/inti,j,k,k1=0;/*i,j,k是循环变量*/intx=9,y=9,flags=0;/*x,y矩阵的大小*/intsum=10;/*sum盘面的雷的总数目,是个x,y的函数*/intx1=0,y1=0;/*用于记录光标当前的位置*/intx11=0,y11=0;/*暂时保存鼠标位置的值*/intsizel=10;/*脸的大小*/intcflags=1;/*这是菜

5、单操作标志变量,没有弹出1,弹出0*/structtimet1={0,0,0,0};/*时间结构体,头文件已定义*/intco[3];/*暂时纪录历史纪录*/voidfar*Map;/*用于保存鼠标图片*/charname[3][20];/*名字字符串,用于记录名字*/FILE*p;/*文件指针用于文件操作*/Msinit();/*鼠标初始化*//*registerbgidriver(EGAVGA_driver);*/initgraph(&devices,&mode,"C:\tc");/*图形模式初始化*//*为图片指针分配

6、内存*/if((Map=farmalloc(imagesize(0,0,20,20)))==NULL)/*图片的大小是20*20*/{printf("Memoryererr!");printf("Pressanykeytoout!");exit(1);}/*用于检验文件是否完整*/while((p=fopen("score.dat","r"))==NULL)/*如果不能打开就新建一个*/{if((p=fopen("score.dat","w"))==NULL)/*如果不能新建就提示错误并推出*/{printf("The

7、filecannotopen!");printf("Presssanykeytoexit!");getch();exit(1);}/*写入初始内容*/fprintf(p,"%d%d%d,%s%s%s",999,999,999,"xiajia","xiajia","xiajia");fclose(p);}/*暂时读出历史纪录。并用co[3]纪录*/fscanf(p,"%d%d%d,",&co[0],&co[1],&co[2]);for(i=0;i<3;i++)fscanf(p,"%s",name[i]);

8、fclose(p);Setmouse(1,1,615,460);/*设置鼠标的活动范围*/pix=250-x*size/2;/*计算地雷按钮矩阵的左边*/bss:b[0]='1';/*游戏开始和重来的切入点*/flags=0;/*测试中这个变量好像没有作用,但是为了逻辑的完整

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

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

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