黑马程序员技术交流社区

标题: 看基础视频自己写的迷宫代码找不到哪里有问题 [打印本页]

作者: taolove    时间: 2015-6-14 17:01
标题: 看基础视频自己写的迷宫代码找不到哪里有问题
#include<stdio.h>
#define ROW 6
#define COL 6
int main()
{
        char ditu[ROW][COL]={{'*','*','*','*','*','*'},
        {'*',' ','*','*','*','*'},
        {'*',' ',' ','*',' ',' '},
        {'*','*',' ', ',' ','*'},
        {'*','*','*','*','*','*'},
        {'*','*','*','*','*','*'}};//定义地图
        //打印一次地图
        for(int i=0;i<ROW;i++)
        {
                for(int j=0;j<COL;j++)
                {
                        printf("%c",ditu[i][j]);
                }
                printf("\n");
        }
        //提示用户游戏玩法
        printf("请输入w(上)s(下)a(左)d(右)来控制小人的移动");
        char dircter;
        //定义当前小人位置
        int currentX=1;
        int currentY=1;
        //判断玩家输入的位置
        while(1)
        {
        scanf("%c", &dircter);
                switch( dircter)
                {
                case 'W':
                case 'w':if(ditu[currentX-1][currentY]==' ')
                                 {
                                 char temp;
                             temp=ditu[currentX][currentY];
                 ditu[currentX][currentY]=ditu[currentX-1][currentY];
                                 ditu[currentX-1][currentY]=temp;
                                 currentX--;
                                 }
                        break;


        case 's':
                case 'S':if(ditu[currentX+1][currentY]==' ')
                                 {
                                 char temp;
                             temp=ditu[currentX][currentY];
                 ditu[currentX][currentY]=ditu[currentX-1][currentY];
                                 ditu[currentX-1][currentY]=temp;
                                 currentX++;
                                 }
            break;


        case 'A':
                case 'a':if(ditu[currentX-1][currentY-1]==' ')
                                 {
                                 char temp;
                             temp=ditu[currentX][currentY];
                 ditu[currentX][currentY]=ditu[currentX-1][currentY];
                                 ditu[currentX-1][currentY]=temp;
                                 currentY--;
                                 }

            break;

        case 's':
                case 'S':if(ditu[currentX-1][currentY+1]==' ')
                                 {
                                 char temp;
                             temp=ditu[currentX][currentY];
                 ditu[currentX][currentY]=ditu[currentX-1][currentY];
                                 ditu[currentX-1][currentY]=temp;
                                 currentY++;
                                 }

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

  
                }
                //重绘地图

        for(int i=0;i<ROW;i++)
        {
                for(int j=0;j<COL;j++)
                {
                        printf("%c",ditu[i][j]);
                }
                printf("\n");
        }
//判断是否走出来
        if(currentY==5)
        {
                printf("恭喜你,成功了!\n");
                break;
        }
        }


return 0;

}

作者: aofex    时间: 2015-6-15 22:20
兄弟 你看的这个基础视频第几个里边的   我也想看看  唉!!!




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