昔、私がRPGのプレイに多くの時間を費やしていたとき、一部のプレイヤーが抱えていた問題の1つは、パーティーの動きを追跡して適切なマップを描くことでした。だから私はあなたたちがこの問題にどのように対処するのかをチェックするためのアイデアを思いつきます。
タスクは、(選択した構造体として渡される)方向の入力パラメーターリストを受け取り^v<>、ダンジョンのマップを表示する関数を記述することです。入力の例では、>>>vvv<<<^^^出力は次のようになります。
+----+ +----+
| | |>>>v|
| ++ | |^++v|
| ++ | because |^++v|
| | |^<<<|
+----+ +----+
テストケース
>>>>>>vvvvv<<<<^^^>>v
+-------+
| |
+-+---+ |
| | |
| + | |
| +-+ |
| |
+-----+
^^^^^vvv<<<^^vv>>>>>>>>vv>><<^^^^v>>>>v^<^
+-+
+-+| | +-++-+
| || | | ++ ++
| ++ +-+ |
| +-+ |
+--+ +-+ +-+-+
| | | |
+-+ +---+
ゴルフコードチャレンジなので最短コードが勝ちます。
幸せなゴルフ。
編集 遅い編集でごめんなさい、最近あまり時間がありませんでした。
地図は動きに基づいて生成されます。散歩中に訪れた廊下のみを含める必要があります。したがって、1つの大きな部屋を作成することは有効な答えにはなりません。
マップには3つの有効なシンボルがあります。
|垂直壁|水平壁+垂直壁と水平壁の交点。
パスの最大長は255文字です(ただし、可能であれば自分で制限しないでください)。
その他のテストケース:
><><><><
+--+
| |
+--+
>^<v
+--+
| |
| |
+--+
すべてが明確になったことを願っています。
vvv>>^^^<<が生成するものです(クロス?パイプ?)