Ce défi se déroule sur une grille.
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
Celui-ci est de 10 x 10, mais il peut être de n'importe quelle forme rectangulaire.
Il y a quatre directions sur cette grille. Haut, bas, gauche et droite.
La tâche consiste à tracer un chemin commençant par une initiale en majuscule. Dans cet exemple, ira directement vers le haut à partir du U.
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| U |
+----------+
Le chemin ira vers le haut et sera composé de caractères pointillés (.), Jusqu'à ce qu'il atteigne un mur, quand il se terminera par un astérisque (*).
+----------+
| * |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| U |
+----------+
En plus des débuts de chemin, il existe également des changeurs de direction, représentés par une initiale de direction en minuscule.
+----------+
| |
| |
| |
| r.....*|
| . |
| . |
| . |
| . |
| U |
+----------+
De plus, un X majuscule représente un obstacle qui terminera le chemin.
+----------+
| |
| |
| |
| |
| r...*X |
| . |
| . |
| . |
| U |
+----------+
Règles
- L'entrée est une chaîne composée d'un cadre ((composé des caractères |, - et +)) contenant des caractères indiquant les débuts de chemin, les changeurs de direction et les obstacles.
- Votre code doit ajouter des caractères de point final pour suivre le chemin décrit par les départs et les changeurs de direction, et un astérisque lorsque / si le chemin rencontre un mur ou un obstacle.
- Il peut y avoir plusieurs démarrages de chemin.
- Le code se terminera toujours sans erreur si le chemin décrit une boucle.
- Si un chemin rencontre un début de chemin, il agira comme un changeur de direction.
- C'est du golf de code, du code à faible octet et pas de failles standard, s'il vous plaît.
- Je préfère toujours les liens à un interprète en ligne.
Cas de test
1: Simple
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| U |
+----------+
2: virage à droite
+----------+
| |
| |
| |
| r |
| |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| r.....*|
| . |
| . |
| . |
| . |
| U |
+----------+
3: Carrefour
+----------+
| |
| |
| |
| r d |
| |
| u l |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| . r..d |
| . . . |
| u....l |
| . |
| . |
| U |
+----------+
4: 4 Traversées
+----------+
| D |
| |
| |
|R |
| |
| L|
| |
| |
| U |
+----------+
+----------+
| * D |
| . . |
| . . |
|R........*|
| . . |
|*........L|
| . . |
| . . |
| U * |
+----------+
5: Première boucle
+----------+
| |
| |
| |
| r d |
| |
| u l |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| r..d |
| . . |
| u..l |
| . |
| . |
| U |
+----------+
6: Démarreur comme changeur
+----------+
| |
| |
| |
| L |
| |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
|*..L |
| . |
| . |
| . |
| . |
| U |
+----------+
7: Boucle droite
+----------+
| |
| |
| |
| |
| r l |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| |
| r..l |
| . |
| . |
| . |
| U |
+----------+
8: Noeud serré
+----------+
| |
| |
| |
| d l |
| r u |
| r u |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| d..l |
| .r.u |
| r.u |
| . |
| . |
| U |
+----------+
9: Un obstacle
+----------+
| |
| |
| |
| |
| r X |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| |
| r...*X |
| . |
| . |
| . |
| U |
+----------+
10: forme en S
+----------+
|r d |
| |
| XXXXXXXX|
| d l |
|ul |
|XXXXXXX |
| |
|R u |
| |
+----------+
+----------+
|r.....d |
|. * |
|. XXXXXXXX|
|.d......l |
|ul . |
|XXXXXXX . |
| . |
|R.......u |
| |
+----------+
11: Noeud à 4 voies
+----------+
| D |
| |
| r |
|R d |
| |
| u L|
| l |
| |
| U |
+----------+
+----------+
| * D |
| . . |
| r.....*|
|R....d. |
| .... |
| .u....L|
|*.....l |
| . . |
| U * |
+----------+
12: Jonctions occupées
+----------+
|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: commence dans Edge
+----------+
| U |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
+----------+
| U |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
14: Traverser les chemins morts
+----------+
| |
| |
| |
| R |
| |
| |
| |
| |
| U|
+----------+
+----------+
| *|
| .|
| .|
| R..*|
| .|
| .|
| .|
| .|
| U|
+----------+