A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#include <stdio.h>
int main()
{
        //迷宫模型的玩法说明
        printf("这是一个迷宫游戏,#代表墙,O代表人\n");
        printf("W代表向上,S代表向下,A代表向左,D代表向右\n\n");
        //迷宫模型的制作,当Migong[1][5]时游戏成功!
        char MiGong[12][12]={
                {'#','#','#','#','#','#','#','#','#','#','#','#'},
                {'O',' ','#','#','#','#','#','#','#','#','#','#'},
                {'#',' ','#',' ',' ',' ',' ',' ','#','#','#','#'},
                {'#',' ','#',' ','#','#','#',' ','#','#','#','#'},
                {'#',' ',' ',' ','#','#','#',' ','#','#','#','#'},
                {'#','#','#','#','#','#','#',' ','#','#',' ',' '},
                {'#','#','#','#','#','#','#',' ','#','#',' ','#'},
                {'#','#',' ',' ',' ',' ',' ',' ','#','#',' ','#'},
                {'#','#',' ','#','#','#','#','#','#','#',' ','#'},
                {'#','#',' ','#','#','#','#','#','#','#',' ','#'},
                {'#','#',' ',' ',' ',' ',' ',' ',' ',' ',' ','#'},
                {'#','#','#','#','#','#','#','#','#','#','#','#'},
        };
        //迷宫模型的输出
        for(int i=0;i<12;i++){
                printf("        ");
                for(int j=0;j<12;j++){
                        printf("%c",MiGong[i][j]);
                }
                printf("\n");
        }
        char ShuRu;//定义用户的输入的方向
        int x=1;//定义人物的坐标X
        int y=0;//定义人物的坐标Y
        char temp;//用来调换人物与空格的位置
        char Ch;
        while((x!=5)||(y!=11)){
                scanf("%c",&ShuRu);
                Ch=getchar();
                if(ShuRu!='w'&&ShuRu!='a'&&ShuRu!='s'&&ShuRu!='d'){
                                printf("请按规则输入!\n");
                        }
                        if(ShuRu=='w'){
                                if(MiGong[x-1][y]=='#'){
                                printf("请不要撞墙!\n");}
                                else{
                                        temp=MiGong[x-1][y];
                                        MiGong[x-1][y]=MiGong[x][y];
                                        MiGong[x][y]=temp;
                                        x=x-1;
                                }
                        }
                        if(ShuRu=='s'){
                                if(MiGong[x+1][y]=='#'){
                                        printf("请不要撞墙!\n");
                                }
                               
                                else{
                                        temp=MiGong[x+1][y];
                                        MiGong[x+1][y]=MiGong[x][y];
                                        MiGong[x][y]=temp;
                                        x=x+1;
                                }
                        }
                        if(ShuRu=='a'){
                                if(MiGong[x][y-1]=='#'){
                                        printf("请不要撞墙!\n");
                                }
                               
                                else{
                                        temp=MiGong[x][y-1];
                                        MiGong[x][y-1]=MiGong[x][y];
                                        MiGong[x][y]=temp;
                                        y=y-1;
                                }
                        }
                        if(ShuRu=='d'){
                                if(MiGong[x][y+1]=='#'){
                                        printf("请不要撞墙!\n");
                                }
                               
                                else{
                                        temp=MiGong[x][y+1];
                                        MiGong[x][y+1]=MiGong[x][y];
                                        MiGong[x][y]=temp;
                                        y=y+1;
                                }
                        }
                //每次输入正确后重新更新地图
                for(int i=0;i<12;i++){
                printf("        ");
                for(int j=0;j<12;j++){
                        printf("%c",MiGong[i][j]);
                }
                printf("\n");
        }                               
        }
printf("游戏成功!\n");
        return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马