资源描述:
《扫雷-C语言实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.扫雷 纯C语言实现资料..件夹中找到“扫雷安===============================分==========割===========线================================资料..#include#include//本程序使用了EGE图形库#include//地雷个数#defineNUM40intmap[20][20];//用于保存地雷阵,9表示地雷,0~8表示周围地雷的个数intui[20][20];//用于保存显示的界面,0表示未翻
2、开,1表示翻开,2表示插上了小红旗longtimer,timer2;intlife,isnew;PIMAGELEI;//地雷PIMAGESHOW_0;//未翻开的方块PIMAGESHOW_1;//翻开的方块PIMAGESHOW_FLAG;//小红旗intmakemap(intnum);//初始化地雷阵intdraw(void);绘制图形intdataup(void);//更新数据,响应鼠标操作voidshowother(intx,inty);//翻开空白方块旁边挨着的空白方块资料..intmain(){intx,y;srand((int)t
3、ime(NULL));initgraph(600,700);LEI=newimage();SHOW_0=newimage();SHOW_1=newimage();SHOW_FLAG=newimage();getimage(LEI,"lei.png");getimage(SHOW_0,"show_0.png");getimage(SHOW_1,"show_1.png");getimage(SHOW_FLAG,"show_flag.png");setfillcolor(LIGHTGRAY);while(1){bar(80,600,600,700
4、);setcolor(LIGHTBLUE);setfont(50,0,"宋体");xyprintf(80,600,"MadeBy:BlueSky");资料..setfont(20,0,"宋体");xyprintf(80,650,"共%d个地雷找到它们并按右键插上小红旗",NUM);life=1;isnew=1;makemap(NUM);for(y=0;y<20;y++)for(x=0;x<20;x++)ui[y][x]=0;setbkcolor(LIGHTGRAY);draw();timer=clock();while(life){time
5、r2=clock();setfont(-80,0,"");setcolor(RED);xyprintf(0,600,"%d",(timer2-timer)/1000);dataup();if(life==0){for(y=0;y<20;y++)for(x=0;x<20;x++)ui[y][x]=1;draw();资料..break;}if(isnew)draw();if(life==2)break;}setfont(50,0,"宋体");setcolor(RED);bar(80,600,600,700);if(life==2)xyprint
6、f(80,600,"太牛了!你赢了!");if(life==0)xyprintf(80,600,"噢!你挂了!");setfont(30,0,"宋体");xyprintf(80,650,"(按空格再来一局!其他键退出)");if(getch()!=VK_SPACE)break;}delimage(SHOW_1);delimage(SHOW_0);delimage(LEI);closegraph();}资料..intmakemap(intnum){intx,y,n=0;inti,j;for(y=0;y<20;y++)for(x=0;x<20;
7、x++)map[y][x]=0;for(;n=0&&i<20&&j>=0&&j<20)if(map[i][j]==9)map[y][x]+
8、+;}return0;}intdraw(void){intx,y;for(y=0;y<20;y++)for(x=0;x<20;x++){if(ui[y][x]==1){if(ma