纯C语言写的:迷宫游戏

来源:互联网 发布:二次元服装淘宝店 编辑:程序博客网 时间:2024/05/07 09:02
#include<stdio.h>#include<stdlib.h>#include<conio.h>#define N 11int main(){void maze(int,int);//迷宫图。FILE *fp;int x=0,y=1,m=0,n=1,i,j;int migong[N][N];char w,a,s,d,t;if((fp=fopen("E:\\file.txt","r"))==NULL){printf("文件打开失败!\n");exit(-1);}while(!feof(fp)){for(i=0;i<N;i++){for(j=0;j<N;j++){fscanf(fp,"%d ",&migong[i][j]);fprintf(stdout,"%d ",migong[i][j]);}//fgetc(fp);printf("\n");}}maze(m,n);//调用并输出迷宫图 。do{printf("请输入:w:上,s:下,a:左,d:右,q:退出!\n");t=getch();system("cls");//清屏。switch(t){case 'w'://上,x=x-1;{if(migong[x-1][y]==0)//如果该位置是通道,则移动★到该位置。{x--;m--;maze(m,n);}elsemaze(m,n);break;}case 'a'://左,y=y-1;{if(migong[x][y-1]==0){n--;y--;maze(m,n);}elsemaze(m,n);break;}case 's'://下,x=x+1;{if(migong[x+1][y]==0){m++;x++;maze(m,n);}elsemaze(m,n);break;}case 'd'://右,y=y+1;{if(migong[x][y+1]==0){n++;y++;maze(m,n);}elsemaze(m,n);break;}case 'q'://退出。{printf("是否真的要退出,是,请按y键,否请按预先设置键继续游戏!!\n");t=getch();if(t=='y')     exit(0);}default:{maze(m,n);puts("啪! 键按错了!!");break;}}if(x==10&&y==9)//胜利。{ printf(" 【YOU WIN  !!!】\n");migong[10][9]=1;//为了结束循环。}}while(!migong[10][9]);return 0;}void maze(int m,int n)//迷宫图。{FILE *fp;int migong[N][N],i=0,j=1;if((fp=fopen("E:\\file.txt","r"))==NULL){printf("文件打开失败!\n");exit(-1);}while(!feof(fp)){for(i=0;i<N;i++){for(j=0;j<N;j++){fscanf(fp,"%d ",&migong[i][j]);fprintf(stdout,"%d ",migong[i][j]);}printf("\n");}for(i=0;i<N;i++){for(j=0;j<N;j++){if(migong[i][j]==1)printf("█");if(migong[i][j]==0){if(i==m&&j==n)printf("★");elseprintf("  ");}}printf("\n");}}fclose(fp);}

0 0
原创粉丝点击