- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
扫雷-C语言实现
扫雷
?纯C语言实现
件夹中找到“扫雷安===============================分==========割===========线================================
#includestdio.h
#includetime.h
//本程序使用了EGE图形库
#includegraphics.h
//地雷个数
#define NUM 40
int map[20][20];//用于保存地雷阵,9表示地雷,0~8表示周围地雷的个数
int ui[20][20];//用于保存显示的界面,0表示未翻开,1表示翻开,2表示插上了小红旗
long timer,timer2;
int life,isnew;
PIMAGE LEI;//地雷
PIMAGE SHOW_0;//未翻开的方块
PIMAGE SHOW_1;//翻开的方块
PIMAGE SHOW_FLAG;//小红旗
int makemap(int num);//初始化地雷阵
int draw(void);绘制图形
int dataup(void);//更新数据,响应鼠标操作
void showother(int x,int y);//翻开空白方块旁边挨着的空白方块
int main ()
{
int x,y;
srand((int)time(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);
setcolor(LIGHTBLUE);
setfont(50,0,宋体);
xyprintf(80,600,Made By:Blue Sky);
setfont(20,0,宋体);
xyprintf(80,650,共%d个地雷找到它们并按右键插上小红旗,NUM);
life=1;isnew=1;
makemap(NUM);
for(y=0;y20;y++)
for(x=0;x20;x++)ui[y][x]=0;
setbkcolor(LIGHTGRAY);
draw();
timer=clock();
while(life)
{
timer2=clock();
setfont(-80,0,);
setcolor(RED);
xyprintf(0,600,%d,(timer2-timer)/1000);
dataup();
if(life==0){
for(y=0;y20;y++)
for(x=0;x20;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)xyprintf(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();
}
int makemap(int num)
{
int x,y,n=0;
int i,j;
for(y=0;y20;y++)
for(x=0;x20;x++)map[y][x]=0;
for(;nnum;){
n=0;
x=rand()%20;
y=rand()%20;
map[y][x]=9;
for(y=0;y20;y++)
for(x=0;x20;x++)
if(map[y][x]==9)n++;
}
for(y=0;y20;y++)
for(x=0;x20;x++)
{
if(map[y][x]!=9)
for(i=y-1;i=y+1;i++)
for(j=x-1;j=x+1;j++)
if(i=0i20j=0j20)
if(map[i][j]==9)map[y][x]++;
}
return 0;
}
int draw(void)
{
int
您可能关注的文档
- 小学作文结尾通用十五技法.doc
- 小升初数学专项训练典型例题分析-比例百分数篇(教师版).doc
- 实验二 基础资料设置实验操作(学生用).docx
- 对立体几何解题突破的再思考.doc
- 小学德育示范学校评估解说词.doc
- 室内装修 园林绿化 技术标.doc
- 小学校园欺凌主题班会.doc
- 小学生作文开头和结尾二十种.doc
- 小企业排版.doc
- 小学生必读书目约读书房强力推荐(含清华附小为孩子们推荐的书目.doc
- 2025年中山市沙溪镇人民政府所属事业单位招聘11人笔试备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库参考答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及答案详解一套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及完整答案详解1套.docx
文档评论(0)