黑马程序员技术交流社区

标题: iOS基础c语言迷宫游戏 [打印本页]

作者: guozihui876    时间: 2015-10-7 22:17
标题: iOS基础c语言迷宫游戏
//
//  main.c
//  迷宫游戏
//
//  Created by niaoren on 15/10/2.
//  Copyright (c) 2015年 niaoren. All rights reserved.
//

#include <stdio.h>
#define ROW 7
#define COL 6

void print_mg(char mg[ROW][COL]){
    for (int i=0; i<6; i++) {
        for (int j=0; j<6; j++) {
            printf("%c",mg[i][j]);
        }
        printf("\n");
    }

}
int main(int argc, const char * argv[]) {
    // insert code here...
    printf("请输入wsad 分别表示上下左右\n");
    char mg [ROW][COL] = {'#','#','#','#','#','#',
                          '#','0','#','#','#','#',
                          '#',' ','#',' ',' ',' ',
                          '#',' ','#',' ','#','#',
                          '#',' ',' ',' ','#','#',
                          '#','#','#','#','#','#',
    };
    print_mg(mg);
    int y=1;
    int x=1;
    char road = ' ';
    char temp;
    char key;
    char a[] = "sdsds";
    while (1) {
        
        scanf("%c",&key);
//        getchar();  吸收字符
        switch (key) {
            case 'W':
            case 'w':
                if(mg[y-1][x]==road){
                    temp = mg[y-1][x];
                    mg[y-1][x] = mg[y][x];
                    mg[y][x] = temp;
//                    print_mg(mg);
                    y--;
                }
               
                break;
            
            case 'S':
            case 's':
                if(mg[y+1][x]==road){
                    temp = mg[y+1][x];
                    mg[y+1][x] = mg[y][x];
                    mg[y][x] = temp;
//                    print_mg(mg);
                    y++;
                }
                break;
               
            case 'A':
            case 'a':
                if(mg[y][x-1]==road){
                    temp = mg[y][x-1];
                    mg[y][x-1] = mg[y][x];
                    mg[y][x] = temp;
//                    print_mg(mg);
                    x--;
                }
                break;
               
            case 'D':
            case 'd':
                if(mg[y][x+1]==road){
                    temp = mg[y][x+1];
                    mg[y][x+1] = mg[y][x];
                    mg[y][x] = temp;
//                    print_mg(mg);
                    x++;
                }
                break;
             default:
                print_mg(mg);
                if(x==ROW-2){
                    printf("成功过关_________");
                    return 0;
                }
                break;
            case 'Q':
            case 'q':
                printf("_________");
                return 0;
                break;
        }
    }
    return 0;
}

作者: Eric_h    时间: 2015-10-7 22:29
楼主写的不错,加油
作者: wxd123    时间: 2015-10-7 22:30
楼主写的很好,不过下次可以加注释,赞一个!
作者: guozihui876    时间: 2015-10-14 16:13
Eric_h 发表于 2015-10-7 22:29
楼主写的不错,加油

谢谢 会努力的
作者: guozihui876    时间: 2015-10-14 16:14
Eric_h 发表于 2015-10-7 22:29
楼主写的不错,加油

会的 会加油的  哈哈
作者: guozihui876    时间: 2015-10-14 16:15
wxd123 发表于 2015-10-7 22:30
楼主写的很好,不过下次可以加注释,赞一个!

嗯  多谢 提醒




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