走迷宫,C语言

2021年6月26日 | 分类: 【语文】
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
    char a[50][50]={             
                    "##########",//x=0
                    "#    #   #",//x=1
                    "# ## # # #",//x=2
                    "#  # # # #",//x=3
                    "##O#   # #",//x=4
                    "#######  #",//x=5
                    "#*$$###$##",//x=6
                    "###$$$$$##",//x=7
                    "##########",//x=8
                 //y=0123456789
                    };
    int i,x,y,p,q;
    char ch;
    
    x=4; y=2; p=6; q=1;
    for(i=0;i<=9;i++)
        puts(a[i]);
    while(x!=p||y!=q)
    {
        ch=getch();
        if(ch=='x')
        {
            if(a[x+1][y]!='#')
            {
                a[x][y]=' ';
                x++;
                a[x][y]='O';
            }
        }
        if(ch=='s')
        {
            if(a[x-1][y]!='#')
            {
                a[x][y]=' ';
                x--;
                a[x][y]='O';
            }
        }
        if(ch=='z')
        {
            if(a[x][y-1]!='#')
            {
                a[x][y]=' ';
                y--;
                a[x][y]='O';
            }
        }
        if(ch=='y')
        {
            if(a[x][y+1]!='#')
            {
                a[x][y]=' ';
                y++;
                a[x][y]='O';
            }
        }
        system("cls");
        for(i=0;i<=9;i++)
            puts(a[i]);
    }
    system("cls");
    printf("You win!\n");
    Sleep(5000);
    return 0;
}

在写走迷宫时,我发现两个报错:

[table id=10 /]

我在搜索引擎中搜索错误相关解决方案,得到一篇文章:

网址:https://zhidao.baidu.com/question/473429218

我仔细阅读后发现,为了让C编译器支持getch函数,必须添加一个头文件:

#include <conio.h>

加上头文件后重新编译运行,发现一切正常。