Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何建立迷宫的坐标系?_C - Fatal编程技术网

C 如何建立迷宫的坐标系?

C 如何建立迷宫的坐标系?,c,C,我有一个项目,我需要让程序解决一个已经制作好的迷宫,问题是我需要坐标,我不知道如何让它们工作 迷宫示例: ************* * F* * **** * * * * ** * * * * ** *** * * *S * ************* S=开始,F,结束 我像这样加载迷宫:./迷宫.exe迷宫\u 1.txt 在我的代码中: int main(int argc, char *argv[]) { FILE *f;

我有一个项目,我需要让程序解决一个已经制作好的迷宫,问题是我需要坐标,我不知道如何让它们工作

迷宫示例:

*************
*          F*
*  **** * * *
*  **   * * *
*  ** *** * *
*S          *
*************
S=开始,F,结束

我像这样加载迷宫:./迷宫.exe迷宫\u 1.txt

在我的代码中:

int main(int argc, char *argv[]) {

  FILE *f; 

    f=fopen(argv[1],"r"); 
         if( f==NULL ){
               printf("Archive not found\n");
         }
       else
          {
                while( !feof(f) )
                     printf("%c", getc(f));
          }

        if(!strcmp(argv[2], "-solution")) {
          system("clear"); 
          FILE *r;
          r=fopen("lab1.txt", "r");
            while( !feof(r) ) 
              printf("%c", getc(r));
        } else {
          system("clear");
          printf("Command not found\n");

        }

}
我需要创建一个函数,在这里我有坐标来处理打开的文件,但我不知道从哪里开始,它是 我真的很困惑,我该如何定义数组或它的任何内容 待定义。该函数将是递归的,以使程序开始寻找迷宫的解决方案。旁注:我只是请求帮助,知道如何为这个问题建立一个坐标系,让它解决这个问题。
非常感谢您的帮助。

一个简单的方法是声明一组字符,如

charlab[30][30]

大概吧。然后读取文件,每行读取一行,在实验室[0]和实验室[1]中读取,依此类推

完成后,可以使用符号lab[x][y]检查每个单元格;这种表示法返回一个字符,该字符可以很容易地与有意义的字符(如“*”、“‘S’、‘F’)进行测试

声明静态数组意味着您选择了相当大的数组大小限制,也许您必须检查迷宫是否适合该数组

请注意,如果在文本文件中正确定义了迷宫,则交换x和y坐标并不重要-迷宫应始终以“*”分隔。事实上,坐标系应为lab[y,x]

一旦你确定迷宫和重复迷宫的阵列,你就可以让你的探险家成为一个试图通过增加和减少y,x索引逃离迷宫的人。lab[0][0]将是左上角的单元格,lab[0,1]将是右边旁边的单元格,依此类推


找到出路!:-

坐标系不够清晰。请描述你需要坐标系做什么。你将如何测试答案?如果有坐标系,你会怎么做?例如,您是否对函数char coordsystemint x感到满意,在y中返回在坐标x,y处找到的字符?您是否提前知道迷宫宽度x高度的大小?有了这些信息,你的目标会更容易实现。我需要坐标系来解决这个迷宫。它将检查是否有一堵墙或一个空的空间供它走过。我不知道这是否解决了你的问题。请详细说明,这将是检查是否有一堵墙或一个空的空间让它走过它。我假设它是坐标系。你将如何使用它来做你所描述的事情?例如,函数char coordsystemint x,在y中返回在坐标x,y处找到的字符,您会满意吗?如果没有,请显示代码,说明您希望如何使用坐标系来检查是否有墙或空白空间供其通过。请考虑用原型提出的函数是否能解决你的问题。否则定义一个不同的。