C++ 如何删除二维矢量栅格中的部分路径?

C++ 如何删除二维矢量栅格中的部分路径?,c++,algorithm,function,2d-vector,C++,Algorithm,Function,2d Vector,我一直在为这个项目苦苦挣扎。我有一个网格,也就是2D字符向量。宽79个字符,高20个字符。我创建了一些函数,基本上可以绘制从网格的一个边缘到另一个边缘的路径。这些“路径”有些随机。。其中我有一个随机生成器,从0-7中选择一个int,并使用我为其创建函数的路径组合。所以有多条路径/线穿过网格 下一部分是在网格上的这些路径上放置矩形/正方形。在经历了几个小时的挫折之后,我得到了一个程序,将这些矩形放置在路径上 这下一部分让我不知所措,我不知道如何开始。我现在需要确定路径是否以某种方式将所有矩形连接在

我一直在为这个项目苦苦挣扎。我有一个网格,也就是2D字符向量。宽79个字符,高20个字符。我创建了一些函数,基本上可以绘制从网格的一个边缘到另一个边缘的路径。这些“路径”有些随机。。其中我有一个随机生成器,从0-7中选择一个int,并使用我为其创建函数的路径组合。所以有多条路径/线穿过网格

下一部分是在网格上的这些路径上放置矩形/正方形。在经历了几个小时的挫折之后,我得到了一个程序,将这些矩形放置在路径上

这下一部分让我不知所措,我不知道如何开始。我现在需要确定路径是否以某种方式将所有矩形连接在一起,但只有1或2条路径可以连接到一个矩形。因此,如果其中一个矩形不接触路径,我需要调用函数以使用路径和矩形重新生成新网格

除了能够检查路径是否在1或2个位置与矩形接触之外。。我需要删除多余的路径字符。因此,如果路径没有连接到另一个矩形或所需的路径,我需要删除该字符

“#”是路径,“.”是矩形 下面是我的程序现在显示的示例:

        #                  #                                                   
        #                  #                                                   
   ........                #         ##############                            
   ........                #         #            # ..........                 
   ........                #         #            ##..........############     
   ........###########     #         #              ..........           #     
###........###########################              ..........           #     
   ........          #     #                        ..........           #     
   ........          #################################                   #     
                     #     #                         #                   #     
                     #     #                         #                   #     
            ........ #     #                         #                   #     
            ........ #     #                      ########################     
            ........ #     #######                #  ........                  
            ........ #           #                #  ........                  
############........##           #                #  ........                  
            ........             ##################  ........##################
            ........                                 ........                  
            ........                                 ........                  
注意额外的“#”标记,以及其中一些标记是如何无用的?从技术上讲,我不必移除路径分叉的地方并重新连接路径。从技术上讲,我可以让它们在不止一个地方接触,因为我将为矩形添加边框。。只有1或2个点直接连接“#”到“.”(现在不用担心),它们的厚度不能超过1“#”和之前的要求。这就是在我不知怎么弄明白如何移除我不需要的东西后的样子:

 ........                          ##############                            
 ........                          #            # ..........                 
 ........                          #            ##..........     
 ........###########               #              ..........                
 ........          #################              ..........                
 ........          #     #                        ..........                
 ........          #################################                        
                   #     #                         #                        
                   #     #                         #                        
          ........ #     #                         #                        
          ........ #     #                      ####     
          ........ #     #######                #  ........                  
          ........ #           #                #  ........                  
          ........##           #                #  ........                  
          ........             ##################  ........
          ........                                 ........                  
          ........                                 ........                  
我得到的最接近的结果是检测一条路径从某个点到哪个方向。。但我不知道如何将其用于删除“#”或检查孤岛矩形的方法


请帮助我:(我不知道该怎么做,如果你需要更多信息,请告诉我。

< P>这不是你要的,但是我认为这对你有很大帮助,而且这个代码甚至有C++代码的例子,也有代码<代码>胭脂,比如< /代码>游戏,也必须做同样的事情。是项目。我似乎找不到关于这个特定部分的指南/教程,但是=/我应该开始学习一个教程,至少是关于地下城生成的。我们有相当具体的功能,我们应该实现这些功能though@ModdedLife希望这至少能给你一些好的想法和代码来利用。这是一笔惊人的财富有很多关于胭脂游戏的信息,谁知道呢?是的,我在这个项目开始时做了一些研究。但是大多数都比我们需要做的要深入得多。不过肯定会有帮助。