黑马程序员技术交流社区

标题: 之前提出的问题解决了,是因为与或的关系没有处理好,... [打印本页]

作者: qiujunwen123    时间: 2015-12-19 16:30
标题: 之前提出的问题解决了,是因为与或的关系没有处理好,...
#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;
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2