Diese Herausforderung findet in einem Raster statt.
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
Dies ist 10 x 10, aber es kann jede rechteckige Form sein.
Es gibt vier Richtungen in diesem Raster. Hoch, runter, links und rechts.
Die Aufgabe besteht darin, einen Pfad zu zeichnen, der mit einem Richtungsinitial in Großbuchstaben beginnt. In diesem Beispiel geht es direkt von der U nach oben.
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| U |
+----------+
Der Pfad geht nach oben und besteht aus Punktzeichen (.), Bis er an eine Wand stößt und mit einem Sternchen (*) endet.
+----------+
| * |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| U |
+----------+
Zusätzlich zu den Pfadstarts gibt es auch Richtungsänderer, die durch ein Richtungsinitial in Kleinbuchstaben dargestellt werden.
+----------+
| |
| |
| |
| r.....*|
| . |
| . |
| . |
| . |
| U |
+----------+
Auch ein Großbuchstabe X ist ein Hindernis, das den Pfad beendet.
+----------+
| |
| |
| |
| |
| r...*X |
| . |
| . |
| . |
| U |
+----------+
Regeln
- Die Eingabe ist eine Zeichenfolge, die aus einem Rahmen (bestehend aus |, - und + Zeichen) besteht, der Zeichen für Pfadanfang, Richtungsänderungen und Hindernisse enthält.
- Ihr Code sollte Punktzeichen hinzufügen, um dem von Starts und Richtungswechslern beschriebenen Pfad zu folgen, und ein Sternchen, wenn der Pfad auf eine Wand oder ein Hindernis stößt.
- Es kann mehrere Pfadstarts geben.
- Der Code wird weiterhin fehlerfrei beendet, wenn der Pfad eine Schleife beschreibt.
- Wenn ein Pfad auf einen Pfadanfang trifft, fungiert er als Richtungswechsler.
- Es ist Code-Golf, Low-Byte-Code und keine Standard-Lücken, bitte.
- Ich bevorzuge immer Links zu einem Online-Dolmetscher.
Testfälle
1: Einfach
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| U |
+----------+
2: Rechts abbiegen
+----------+
| |
| |
| |
| r |
| |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| r.....*|
| . |
| . |
| . |
| . |
| U |
+----------+
3: Kreuzung
+----------+
| |
| |
| |
| r d |
| |
| u l |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| . r..d |
| . . . |
| u....l |
| . |
| . |
| U |
+----------+
4: 4 Wege kreuzen
+----------+
| D |
| |
| |
|R |
| |
| L|
| |
| |
| U |
+----------+
+----------+
| * D |
| . . |
| . . |
|R........*|
| . . |
|*........L|
| . . |
| . . |
| U * |
+----------+
5: Erste Schleife
+----------+
| |
| |
| |
| r d |
| |
| u l |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| r..d |
| . . |
| u..l |
| . |
| . |
| U |
+----------+
6: Starter als Wechsler
+----------+
| |
| |
| |
| L |
| |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
|*..L |
| . |
| . |
| . |
| . |
| U |
+----------+
7: Gerade Schleife
+----------+
| |
| |
| |
| |
| r l |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| |
| r..l |
| . |
| . |
| . |
| U |
+----------+
8: Enger Knoten
+----------+
| |
| |
| |
| d l |
| r u |
| r u |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| d..l |
| .r.u |
| r.u |
| . |
| . |
| U |
+----------+
9: Ein Hindernis
+----------+
| |
| |
| |
| |
| r X |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| |
| r...*X |
| . |
| . |
| . |
| U |
+----------+
10: S-Form
+----------+
|r d |
| |
| XXXXXXXX|
| d l |
|ul |
|XXXXXXX |
| |
|R u |
| |
+----------+
+----------+
|r.....d |
|. * |
|. XXXXXXXX|
|.d......l |
|ul . |
|XXXXXXX . |
| . |
|R.......u |
| |
+----------+
11: 4-Wege-Knoten
+----------+
| D |
| |
| r |
|R d |
| |
| u L|
| l |
| |
| U |
+----------+
+----------+
| * D |
| . . |
| r.....*|
|R....d. |
| .... |
| .u....L|
|*.....l |
| . . |
| U * |
+----------+
12: Busy Junctions
+----------+
|rrrrr rrrd|
| rlrl |
|ul rrd |
|ruX X |
|udl ll |
|ull |
|rlr |
|rdr d |
|Uruull |
+----------+
+----------+
|rrrrr.rrrd|
|.rlrl .|
|ul rrd .|
|ruX.X. .|
|udl.ll .|
|ull. .|
|rlr. .|
|rdr..d .|
|Uruull *|
+----------+
13: Startet in Edge
+----------+
| U |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
+----------+
| U |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
14: Überqueren von toten Pfaden
+----------+
| |
| |
| |
| R |
| |
| |
| |
| |
| U|
+----------+
+----------+
| *|
| .|
| .|
| R..*|
| .|
| .|
| .|
| .|
| U|
+----------+