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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

呼呼...真累,脑袋都大了
#include<stdio.h>
int main(){
    char map[6][6]={
        {'#','#','#','#','#','#'},
        {'D',' ','#','#',' ',' '},
        {'#',' ','#','#',' ','#'},
        {'#',' ','#',' ',' ','#'},
        {'#',' ',' ',' ','#','#'},
        {'#','#','#','#','#','#'}
    };
    for (int i = 0; i < 6; i++) {        //打印地图
        for (int j = 0; j < 6; j++) {
            printf("%c",map[i][j]);
        }
        printf("\n");
    }
    int currentX = 1;
    int currentY = 0;
    char ch;
   
    printf("请移动小人w:上\tx:下\ta:左\td:右\tq:退出\n");
    while (1) {
        if (currentY == 5) {
            printf("哇哦,你逃出去了\n");
            return 0;
        }
        scanf("%c",&ch);
        switch (ch) {
            case 'w' :
            case 'W' :
                if (map[currentX - 1][currentY] == ' ') {
                    int temp = map[currentX - 1][currentY];
                    map[currentX - 1][currentY]=map[currentX][currentY];
                    map[currentX][currentY]=temp;
                    currentX--;
                    for (int i = 0; i < 6; i++) {        //打印地图
                        for (int j = 0; j < 6; j++) {
                            printf("%c",map[i][j]);
                        }
                        printf("\n");
                    }
                }
                break;
            case 's' :
            case 'S' :
                if (map[currentX + 1][currentY] == ' ') {
                    int temp = map[currentX + 1][currentY];
                    map[currentX + 1][currentY]=map[currentX][currentY];
                    map[currentX][currentY]=temp;
                    currentX++;
                    for (int i = 0; i < 6; i++) {        //打印地图
                        for (int j = 0; j < 6; j++) {
                            printf("%c",map[i][j]);
                        }
                        printf("\n");
                    }

                }
                break;
            case 'a' :
            case 'A' :
                if (map[currentX][currentY - 1] == ' ') {
                    int temp = map[currentX][currentY - 1];
                    map[currentX ][currentY - 1]=map[currentX][currentY];
                    map[currentX][currentY]=temp;
                    currentY--;
                    for (int i = 0; i < 6; i++) {        //打印地图
                        for (int j = 0; j < 6; j++) {
                            printf("%c",map[i][j]);
                        }
                        printf("\n");
                    }

                }
                break;
            case 'd' :
            case 'D' :
                if (map[currentX][currentY + 1] == ' ') {
                    int temp = map[currentX][currentY + 1];
                    map[currentX][currentY + 1]=map[currentX][currentY];
                    map[currentX][currentY]=temp;
                    currentY++;
                    for (int i = 0; i < 6; i++) {        //打印地图
                        for (int j = 0; j < 6; j++) {
                            printf("%c",map[i][j]);
                        }
                        printf("\n");
                    }

                }
                break;
            case 'q' :
            case 'Q' :
                return 0;
        }
    }
}

评分

参与人数 2黑马币 +12 收起 理由
没有信号 + 6 赞一个!666666666不错哦小学弟
wx_s1oSwEOC + 6 赞一个!很给力,才学到字符串吧?.

查看全部评分

5 个回复

倒序浏览
66666666666
回复 使用道具 举报
哥们,厉害厉害
回复 使用道具 举报
还可以优化一下下,嘿嘿,赞一个,好棒的说
回复 使用道具 举报
厉害  66666666
回复 使用道具 举报
斯过一!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马