这只是一个非常基本的想法,可以帮助您开始:
生成随机点。
通过仅从一个点垂直移动并从另一个点水平移动来重复连接两个随机点(有两种方法可以做到这一点)。有关更多详细信息,请参见示例。
假设您想要一条不分割的路径,这些选择的点不应该都已经连接到任何其他点(但是已经连接的点很好)。
如果您卡住了(如果您无法将一个点连接到任何东西,或者您已经从头到尾制作了一条路径并且有未完成的点)和/或限制您选择点的方式以防止/减少卡住的概率。例如,连接起点和终点以开始,不会让你到任何地方。
例如,要进入迷宫:
随机生成的点将如下所示:(请注意,起点和终点可以在这里固定,或者至少被限制在(某些?)边上)
1 / / / / / / / / /
/ / / / / / 4 / / /
/ / / / / / / / / /
/ / / / 3 / / / / /
/ / / / / / / / / /
/ 2 / / / / / / / /
/ / / / / / / / 5 6
然后通过从 1 水平移动和从 3 垂直移动来连接 1 和 3。另一种方法是从 1 垂直移动并从 3 水平移动。
1 * * * # / / / / /
/ / / / * / 4 / / /
/ / / / * / / / / /
/ / / / 3 / / / / /
/ / / / / / / / / /
/ 2 / / / / / / / /
/ / / / / / / / 5 6
然后以相同的方式连接 3 和 2、2 和 4、4 和 5 以及 5 和 6。
注意,连接5和6时,只能直接连接,不能有交点,因为它们位于同一水平线上。或者您可以将其视为 5 或 6 垂直移动 0 个单位。