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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MLP1355053753 中级黑马   /  2015-10-26 22:47  /  826 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include<stdio.h>
int main(){
    char map[6][12]={
        {'#','#','#','#','#','#','#','#','#','#','#','#'},
        {'D',' ','#','#',' ',' ',' ',' ',' ','#','#','#'},
        {'#',' ','#','#',' ','#','#','#',' ','#',' ',' '},
        {'#',' ','#',' ',' ','#','#',' ',' ','#',' ','#'},
        {'#',' ',' ',' ','#','#','#',' ','#','#',' ','#'},
        {'#','#','#','#','#','#','#',' ',' ',' ',' ','#'}
    };
    for (int i = 0; i < 6; i++) {        //打印地图
        for (int j = 0; j < 12; j++) {
            printf("%c",map[i][j]);
        }
        printf("\n");
    }
    int currentX = 1;
    int currentY = 0;
    char ch;
   
    printf("请移动小人w:上\ts:下\ta:左\td:右\tq:退出\n");
    while (1) {
        if (currentY == 11) {
            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 < 12; 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 < 12; 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 < 12; 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 < 12; j++) {
                            printf("%c",map[i][j]);
                        }
                        printf("\n");
                    }

                }
                break;
            case 'q' :
            case 'Q' :
                printf("游戏正在退出...\n");
                printf("游戏已经推出!\n");
                return 0;
        }
    }
}

评分

参与人数 2技术分 +1 黑马币 +11 收起 理由
周单玲老师 + 1 + 3 很给力!
没有信号 + 8 很给力!这个6666666,我都没敲出来呢.

查看全部评分

0 个回复

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