我真的一直在为这个项目而苦苦挣扎。所以我有一个“网格”,也就是一个 2D 字符向量。79 个字符宽,20 个字符高。我创建了一些函数,它们基本上绘制了从网格的一个边缘到另一个边缘的路径。这些“路径”有点随机......我有一个随机生成器从 0-7 中选择一个 int 并使用我为其创建函数的路径的组合。所以.. 有几条路径/线穿过网格。
下一部分是在网格上的这些路径上放置矩形/正方形。经过数小时的挫折后,我得到了将这些矩形放置在路径上的程序。
下一部分让我迷失了,我不知道如何开始。我现在需要确定路径是否以某种方式将所有矩形连接在一起,但只有 1 或 2 条路径可能连接到一个矩形。因此,如果其中一个矩形没有触及路径,我需要调用该函数以使用路径和矩形重新生成一个新网格。
除了能够检查路径是否在 1 或 2 个地方接触矩形之外。我需要删除多余的路径字符。因此,如果路径未连接到另一个矩形或所需的路径,我需要删除该字符。
'#' 是路径,'.' 是矩形下面是我的程序现在显示的示例:
# #
# #
........ # ##############
........ # # # ..........
........ # # ##..........############
........########### # # .......... #
###........########################### .......... #
........ # # .......... #
........ ################################# #
# # # #
# # # #
........ # # # #
........ # # ########################
........ # ####### # ........
........ # # # ........
############........## # # ........
........ ################## ........##################
........ ........
........ ........
注意额外的“#”标记以及它们中的一些是如何无用的?从技术上讲,我不必删除路径分叉的位置并与路径重新连接。从技术上讲,我可以让它们接触超过 1 个位置,因为我将为矩形添加边框.. 只有 1 或 2 个点直接将“#”连接到“。” (现在不担心)它们的厚度不能超过 1 '#' 和以前的要求。在我以某种方式弄清楚如何删除我不需要的那些之后,它应该是这样的:
........ ##############
........ # # ..........
........ # ##..........
........########### # ..........
........ ################# ..........
........ # # ..........
........ #################################
# # #
# # #
........ # # #
........ # # ####
........ # ####### # ........
........ # # # ........
........## # # ........
........ ################## ........
........ ........
........ ........
我得到的最接近的是检测路径从某个位置的哪个方向。但我不知道如何使用它来删除“#”或检查岛矩形的方法。
请帮助我:(我不知道该怎么做!如果您需要更多信息,请告诉我。