Il y a longtemps, lorsque je passais plus de temps à jouer au RPG, l'un des problèmes de certains joueurs était de suivre les mouvements du groupe et de dessiner la bonne carte. Je viens donc avec une idée, pour vérifier comment vous en êtes arrivés à régler ce problème.
La tâche consiste à écrire une fonction, qui prend comme paramètre d'entrée la liste des directions (passées comme structure de votre choix) ^v<>, afficher la carte du donjon. Dans l'exemple pour l'entrée: la >>>vvv<<<^^^sortie sera:
+----+ +----+
| | |>>>v|
| ++ | |^++v|
| ++ | because |^++v|
| | |^<<<|
+----+ +----+
Cas de test
>>>>>>vvvvv<<<<^^^>>v
+-------+
| |
+-+---+ |
| | |
| + | |
| +-+ |
| |
+-----+
^^^^^vvv<<<^^vv>>>>>>>>vv>><<^^^^v>>>>v^<^
+-+
+-+| | +-++-+
| || | | ++ ++
| ++ +-+ |
| +-+ |
+--+ +-+ +-+-+
| | | |
+-+ +---+
Comme c'est un défi de code de golf, le code le plus court gagne.
Bon golf.
EDIT Désolé pour l'édition tardive, je n'ai pas eu beaucoup de temps récemment.
La carte est générée en fonction du mouvement. Il ne doit contenir que des couloirs visités lors de la marche. Par conséquent, la création d'une grande pièce ne sera pas une réponse valable.
Il y a trois symboles valides sur la carte:
|mur vertical|mur horizontal+intersection du mur vertical et horizontal.
La longueur maximale du chemin est de 255 caractères (mais si vous le pouvez, ne vous limitez pas).
Plus de cas de test:
><><><><
+--+
| |
+--+
>^<v
+--+
| |
| |
+--+
J'espère que maintenant tout est clair.
vvv>>^^^<<produirait (croix? Tuyaux?)