C语言扫雷游戏源代码
#include
#include
#include
#include
int di();
void zhz(int a[11][11],int n);
void ps(int a[11][11]);
int bh(char b);
int cl(int a[11][11],int d,int c); int iswin();
void iswon();
void ttt(int a[11][11]);
struct xbx
{char name[10];
char da[25];
};
void main()
{char yesno,m; int b,d,c,n=10,a[11][11];
textcolor(5);
textbackground(3);
clrscr();
printf("welcome to play\n\n");
printf("your smile is the best present for me\n\n");
printf("Participants:\n\n");
printf("General supervision:li xianjun\n\n");
printf("Participant: Huang jiaying\n\n");
printf("Other: wu tianliang\n");
printf(" yu guoqiang\n\n");
printf("If you have any recommendations please contact QQ: 879129532\n\n");
printf("Thank you for your participation");
getch();
do
{clrscr();
n=di();
zhz(a,n);
b=0;
while(b!=1&&b!=2&&b!=3)
{ps(a);
scanf("%c%d",&m,&c);
d=bh(m);
b=cl(a,d,c);
}
if(b==1)
{c=iswin();
if(c==0) iswon();
}
if(b==2)
ttt(a);
printf("\n\n\n\n Do you want again?(Y\\N)");
do
{yesno=getch();}
while(yesno!='Y'&&yesno!='y'&&yesno!='N'&&yesno!='n');
}while(yesno=='Y'||yesno=='y'); }
void shang(char b[5][13],int *k,int *m) {char c;
if(*k==1) return;
else {c=b[*k][*m]; b[*k][*m]=b[*k-2][*m]; b[*k-2][*m]=c; *k=*k-2;}
}
void xia(char b[5][13],int *k,int *m) {char c;
if(*k==3) return;
else {c=b[*k][*m]; b[*k][*m]=b[*k+2][*m]; b[*k+2][*m]=c; *k=*k+2;}
}
int zaiyi()
{int j=0;
clrscr();
printf("please input one number between 8 and 15:\n");
while(j>15||j<8)
{scanf("%d",&j);
}
return j;
}
int di()
{int i,j,z,k=1,m=10; char
b[5][13],c[5][7]={{0},{'1','.','S','t','a','r','t'},{0},{'2','.','S','e','t','u'
,'p'}},n='\0';
textcolor(1);
textbackground(13);
clrscr();
for(i=0;i<5;i++)
for(j=0;j<13;j++)
{b[i][j]='\40';
if(j==0||j==8||j==12) b[i][j]='\272';
}
for(i=0;i<5;i+=2)
for(j=1;j<12;j++)
b[i][j]='\315';
for(i=1;i<4;i+=2)
for(j=1;j<8;j++)
b[i][j]=c[i][j-1];
b[0][0]='\311';
b[4][0]='\310';
b[0][12]='\273';
b[4][12]='\274';
b[0][8]='\313';
b[4][8]='\312';
b[2][0]='\314';
b[2][8]='\316';
b[2][12]='\271';
b[1][10]='\33';
while(n!='\r')
{clrscr();
printf("\n\n\n\n\n\n\n\n");
for(i=0;i<5;i++)
{printf(" ");
for(j=0;j<13;j++)
printf("%c",b[i][j]);
printf("\n");
}
printf(" ");
n=getch();
switch(n)
{case 'w': shang(b,&k,&m); break;
case 's': xia(b,&k,&m); break;
default: break;
}
}
if(b[1][10]=='\33') return 10;
if(b[3][10]=='\33') {z=zaiyi(); return z;}
}
void shezhidilei(int a[11][11],int n) {int i,j,b[15],c,d;
randomize();
for(i=0;i=10||c<=0||c>=10)
{if(d==88) return 3;
else return 0;
}
if(a[d][c]==15)
return 2;
for(i=d-1;i<=d+1;i++)
for(j=c-1;j<=c+1;j++)
if(a[i][j]==15) count++;
a[d][c]=count;
if(count==0)
{if(d>1&&c>1&&a[d-1][c-1]!=0) cl(a,d-1,c-1);
if(d>1&&c<9&&a[d-1][c+1]!=0) cl(a,d-1,c+1);
if(d>1&&a[d-1][c]!=0) cl(a,d-1,c);
if(d<9&&c>1&&a[d+1][c-1]!=0) cl(a,d+1,c-1);
if(d<9&&c<9&&a[d+1][c+1]) cl(a,d+1,c+1);
if(d<9&&a[d+1][c]!=0) cl(a,d+1,c);
if(c>1&&a[d][c-1]!=0) cl(a,d,c-1);
if(c<9&&a[d][c+1]!=0) cl(a,d,c+1);
}
for(i=1;i<10;i++)
for(j=1;j<10;j++)
if(a[i][j]!=32) y++;
if(y==81) return 1;
}
void ps(int a[11][11])
{int i,j,x=65;
textcolor(7);
textbackground(0);
clrscr();
printf("\n\n\n\n");
printf(" ");
for(i=1;i<10;i++)
printf("%2d",i);
printf("\n");
for(i=0;i<11;i++)
{if(i>=1&&i<=9) {printf(" %c",x); x++;}
else printf(" ");
for(j=0;j<11;j++)
{if(a[i][j]==186||a[i][j]==205||a[i][j]==200||a[i][j]==187||a[i][j]==188||a[i][j
]==201) printf("%2c",a[i][j]);
if(a[i][j]==32||a[i][j]==15) printf("%2c",220);
if(a[i][j]>=1&&a[i][j]<=8) printf("%2c",a[i][j]+48);
if(a[i][j]==0) printf("%2c",32);
}
printf("\n");
}
printf(" ");
}
void ttt(int a[11][11])
{int i,j,x=65;
textcolor(12);
textbackground(14);
clrscr();
printf(" ");
for(i=1;i<10;i++)
printf("%2d",i);
printf("\n");
for(i=0;i<11;i++)
{if(i>=1&&i<=9) {printf(" %c",x); x++;}
else printf(" ");
for(j=0;j<11;j++)
{if(a[i][j]==186||a[i][j]==205||a[i][j]==200||a[i][j]==187||a[i][j]==188||a[i][j]==201||a[i][j]==15||a[i][j]==32) printf("%2c",a[i][j]);
if(a[i][j]>=1&&a[i][j]<=8) printf("%2c",a[i][j]+48);
if(a[i][j]==0) printf("%2c",32);
}
printf("\n");
}
printf(" \333 \333 \333\333\333 \333\333\333\333\333\333\333\n");
printf(" \333 \333 \333 \333 \333 \333\n");
printf(" \333 \333 \333 \333 \333\n");
printf(" \333 \333 \333 \333 \333 \333\n");
printf(" \333\333\333\333 \333 \333\333\333 \333\n");
}
void iswon()
{textcolor(10);
textbackground(6);
clrscr();
printf(" \2 \2 \2 \2 \2\n");
printf(" \2 \2 \2 \2 \2 \2\n");
printf(" \2 \2 \2 \2 \2 \2\n");
printf(" \2 \2 \2 \2 \2\n");
printf(" \2 \2 \2\2\2\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf(" \1 \1 \1 \1 \1 \1\n");
printf(" \1 \1 \1 \1 \1\1 \1\n");
printf(" \1 \1 \1 \1 \1 \1 \1 \1\n");
printf(" \1 \1 \1 \1 \1 \1 \1\1\n");
printf(" \1 \1 \1 \1 \1\n"); }
void dsj(char s[])
{time_t td;
putenv("TZ=PST8PDT");
tzset();
time(&td);
strcpy(s,asctime(localtime(&td)));
s[24]='\0';
}
int iswin()
{int i; FILE *fp; struct xbx
b[5]={{"noname","notime"},{"noname","notime"},{"noname","notime"},{"noname","notime"},{"noname","notime"}}; char c[10],s[25];
textcolor(10);
textbackground(0);
fp=fopen("d:\\xxx\\jilude.dat","r");
if(fp==NULL)
{for(i=0;i<3;i++)
system("mkdir d:\\xxx");
fp=fopen("d:\\xxx\\jilude.dat","w");
if(fp==NULL) return 0;
for(i=0;i<5;i++)
fwrite(b+i,sizeof(struct xbx),1,fp);
fclose(fp);
fp=fopen("d:\\xxx\\jilude.dat","r");
if(fp==NULL) return 0;
}
for(i=0;i<5;i++)
fread(&b[i],sizeof(struct xbx),1,fp);
fclose(fp);
for(i=4;i>0;i--)
{strcpy(b[i].name,b[i-1].name);
strcpy(b[i].da,b[i-1].da);
}
clrscr();
printf("you are very good:\n");
printf("------------------------------------------------------------------------
-----\n\n");
printf("Please tell me what's your name?\n");
gets(c);
dsj(s);
strcpy(b[0].name,c);
strcpy(b[0].da,s);
fp=fopen("d:\\xxx\\jilude.dat","w");
for(i=0;i<5;i++)
fwrite(b+i,sizeof(struct xbx),1,fp);
fclose(fp);
clrscr();
printf(" Good
\n");
printf("------------------------------------------------------------------------
--------\n\n");
for(i=0;i<4;i++)
printf("%-13s,%27s\n",b[i].name,b[i].da);
getch();
return 1;
}
本文档为【C语言扫雷游戏源代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。