希望する方法に応じて、多くの方法があります。ここに私があなたの説明に合うと思う1つの方法の大まかな概要があります:
最初に運河を生成します。次に、ランダムに家の配置を開始します。配置する家ごとに、その前に道路を配置し、その部分から既存の道路ネットワークまでの道路を描きます。これが不可能な場合や、道路を前に配置すると、2x2の醜いブロックになります。道路は家を再配置します。互いに近いが既存の道路から遠く離れているいくつかの道路ポイントを検出し、それらのショートカットを作成してみます。
この種のものは何よりも実験と経験が必要です。多くの場合、ランダムな方法で詳細を作成することで良い結果が得られ、それがいくつかの基準を満たしているかどうかを判断し、満たされていない場合は取り消して再試行します。
この正確なタスクでは、確かに基本的なパスファインディングを十分に理解する必要があります。すでに専門家でない限り、トピックを読んでください。そして、パスファインディングは最短のパスである必要はないことを覚えておいてください。私の説明の最後の部分では、すでにそこにあるパスの再利用にある程度の重みを付けたいと思うかもしれません。
行き詰まって、コードといくつかの出力例を見せて、どのように違うものにしたいのかを詳しく説明した場合、これは決して簡単な作業ではありません。