黑马程序员技术交流社区

标题: c语言中 迷宫游戏的实现 ,没有完全优化,大家给点建议 [打印本页]

作者: huanglinwang    时间: 2016-5-16 22:50
标题: c语言中 迷宫游戏的实现 ,没有完全优化,大家给点建议
本帖最后由 huanglinwang 于 2016-5-16 22:52 编辑

#include<stdio.h>
#define X 7
#define Y 7

void PrintMap(char Map[X][Y]){
    for(int i=0;i<X;i++){
        for(int j=0;j<Y;j++){
            printf("%c",Map[j]);
        }
        printf("\n");
    }
}
void Move(char Map[X][Y],int Oldx,int Oldy,int Newx,int Newy){
    char a;
    if(Map[Newx][Newy] == ' '){
        a = Map[Oldx][Oldy];
        Map[Oldx][Oldy] = Map[Newx][Newy];
        Map[Newx][Newy] =  a;
    }
}
int main(){
    //定义地图
    char Map[X][Y] = {
        {'*','*','*','*','*','*','*'},
        {'*','0','*',' ',' ',' ','*'},
        {'*',' ','*',' ','*',' ','*'},
        {'*',' ','*',' ','*',' ','*'},
        {'*',' ','*',' ','*',' ','*'},
        {'*',' ',' ',' ','*',' ',' '},
        {'*','*','*','*','*','*','*'}
    };
    //打印一遍地图
    PrintMap(Map);
    //定义小人的坐标
    int x = 1;
    int y = 1;
    //定义一个字符用来存储路用来和小人交换位置
//    char a;
    //用来接收用户输入的命令
    char c;
    //告诉用户游戏规则
    //利用while循环
    while(1){
    //提醒用户输入
    // 定义变量接受用户输入
        scanf("%c",&c);
    //  getchar();
    //判断用户输入的数据利用switch
        switch(c){
            case 'w':
            case 'W':
                // 利用if判断是否是路,是路则进行交换
                Move(Map,x,y,x-1,y);
                x--;
                break;
            case 's':
            case 'S':
                Move(Map,x,y,x+1,y);
                x++;
                break;
            case 'a':
            case 'A':
                Move(Map,x,y,x,y-1);
                y--;
                break;
            case 'd':
            case 'D':
                Move(Map,x,y,x,y+1);
                y++;
                break;
            case 'q':
            case 'Q':
                return 0;
            default:
                break;
        }
        PrintMap(Map);
        if(y == 6){
            printf("恭喜你通关了!");
            return 0;
        }
    }
    return 0;
}






作者: wk1021311    时间: 2016-5-16 23:47
六六六六
作者: 阿泽泽    时间: 2016-5-16 23:57
迷宫这题没去研究




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