それを表現するための簡略化されたコードを作成した問題があります。簡単に言うと、接続された SVG 線を描画するためのコードを Javascript で作成する必要があります。簡単な例:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<line x1="50" y1="50" x2="200" y2="50" stroke="steelblue" stroke-width="20" onclick="fillWall(evt)" />
<line x1="100" y1="100" x2="400" y2="100" stroke="steelblue" stroke-width="20" onclick="fillWall(evt)" />
<line x1="300" y1="300" x2="200" y2="300" stroke="steelblue" stroke-width="20" onclick="fillWall(evt)" />
<line x1="100" y1="50" x2="100" y2="400" stroke="steelblue" stroke-width="20" onclick="fillWall(evt)" />
<line x1="300" y1="100" x2="300" y2="300" stroke="steelblue" stroke-width="20" onclick="fillWall(evt)" />
<line x1="200" y1="300" x2="200" y2="200" stroke="steelblue" stroke-width="20" onclick="fillWall(evt)" />
<script type="text/javascript">
<![CDATA[
function fillWall(evt) {
var tgt=evt.target;
tgt.setAttributeNS(null, "stroke", "firebrick");
}
]]>
</script>
</svg>
これはいくつかの壁の迷路で、クリックすると色が変わります。そのため、どの壁をクリックしても、すべての接続を 1 回のクリックでペイントする必要があります。原寸大では、これらの壁はほぼ千個あり、一部は接続されており、一部は接続されていません。再帰関数を学習しようとしましたが、簡単にスタック サイズを超えてしまいました。助けてください、私はそれを大いに感謝します。