📄 模拟扫雷游戏.htm
字号:
<P>void
Open()
/*******点中周围没雷的box***********/<BR>{ int
i,n,z,rear,front;<BR> int
stack[400];<BR> rear=0;<BR>
front=0;<BR> stack[rear]=v;
/***进栈*******/<BR> while(rear<=front)
<BR> {
z=stack[rear++];<BR>
setfillstyle(1,BLUE);
<BR>
bar( b[z].x, b[z].y,b[z].x+16
,b[z].y+16);<BR>
for(n=0;n<=7;n++)
/********探询8个方向******/
<BR>
{
if((z%width==1&&n>=5&&n<=7)||(z%width==0&&n>=1&&n<=3)||z+c[n]<1||z+c[n]>(width*hight))
<BR>
continue;<BR>
if(b[z+c[n>.mark==0&&b[z+c[n>.color==RED)<BR>
{ if(b[z+c[n>.bomb==0)
/*****周围没雷的进栈**********/<BR>
{
stack[++front]=z+c[n];<BR>
b[z+c[n>.color=BLUE;<BR>
}
<BR>
else
/********没被掀过的自开*******************/<BR>
{
b[z+c[n>.color=BLUE;<BR>
setfillstyle(1,BLUE);
<BR>
bar( b[z+c[n>.x, b[z+c[n>.y,b[z+c[n>.x+16
,b[z+c[n>.y+16);<BR>
setcolor(WHITE);<BR>
sprintf(m,"%d",b[z+c[n>.bomb);<BR>
outtextxy(b[z+c[n>.x+4,b[z+c[n>.y+6,m);
<BR>
}<BR>
}<BR>
}<BR> } <BR>}</P>
<P>void Levle()<BR>{ int i; <BR>
for(i=0;i<6;i++)<BR> {
setcolor(BLUE);<BR>
rectangle(500,260-i*40,560,280-i*40);<BR>
setfillstyle(SOLID_FILL,WHITE);<BR>
floodfill(501,(260-i*40)+1,BLUE);<BR>
setcolor(1);<BR>
settextstyle(0,0,1);<BR>
if(i==0)<BR>
outtextxy(506,(260-i*40)+6,"Easy");<BR>
if(i==1)<BR>
outtextxy(506,(260-i*40)+6,"Nomall");<BR>
if(i==2)<BR>
outtextxy(506,(260-i*40)+6,"Hard");
<BR>
if(i==3)<BR>
outtextxy(506,(260-i*40)+6,"Quit");
<BR>
if(i==4)<BR>
outtextxy(506,(260-i*40)+6,"Record");
<BR>
setcolor(GREEN);<BR>
if(i==5)<BR>
outtextxy(506,(260-i*40)+6,"Menu");
<BR> }<BR>
MouseOn(MouseX,MouseY); <BR>
while(1)<BR>
{i=0;
<BR>
if(MouseStatus()==1)<BR>
{
<BR>
MouseOff();<BR>
if(MouseX>500 && MouseX<560
&& MouseY>260 &&
MouseY<280)<BR>
{
i=1;<BR>
width=hight=10;<BR>
bomb_s=bombs=10;<BR>
l=0;
<BR>
}
<BR>
if(MouseX>500 &&
MouseX<560&& MouseY>220 &&
MouseY<240)
<BR>
{
i=2;<BR>
width=20;<BR>
hight=10;<BR>
bomb_s=bombs=30;<BR>
l=1;
<BR>
}
<BR>
if(MouseX>500 && MouseX<560
&& MouseY>180 &&
MouseY<200)
<BR>
{ i=3;
<BR>
width=hight=20;<BR>
bomb_s=bombs=70;<BR>
l=2;<BR>
}
<BR>
if(MouseX>500 && MouseX<560
&& MouseY>140 &&
MouseY<160)
<BR>
{
closegraph();<BR>
exit(0);
<BR>
}
<BR>
if(MouseX>500 && MouseX<560
&& MouseY>100 &&
MouseY<120)
<BR>
{ i=5;
<BR>
Record();<BR>
}<BR>
if(i!=5&&i!=0)<BR>
{
<BR>
c[0]=-1*width;c[1]=-(width-1);c[3]=width+1;<BR>
c[4]=width; c[5]=width-1;
c[7]=-(width+1);
<BR>
setfillstyle(1,0);
<BR>
bar(200,70,370,190);<BR>
setfillstyle(SOLID_FILL,RED);
<BR>
floodfill(501,260-(i-1)*40+1,BLUE);<BR>
MouseOn(MouseX,MouseY);
<BR>
break;
<BR>
}<BR>
MouseOn(MouseX,MouseY);
<BR>
}<BR>
}<BR> while(MouseStatus());
/******将多按的左击消掉***********/<BR>
MouseOff(MouseX,MouseY); <BR>}</P>
<P>int CreatFile()<BR>{<BR> FILE *fp;
<BR> while((fp = fopen("Record", "r")) ==
NULL)
/*不能打开就新建一个*/<BR>
{<BR>
if((fp = fopen("Record", "w")) ==
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -