很久以前,当我花更多时间玩RPG时,一些玩家遇到的问题之一是跟踪聚会的活动并绘制正确的地图。因此,我提出了一个想法,以检查你们如何处理这个问题。
任务是编写一个函数,该函数将方向作为输入参数列表(作为您选择的结构传递)^v<>,显示地牢地图。在输入示例中,>>>vvv<<<^^^输出为:
+----+ +----+
| | |>>>v|
| ++ | |^++v|
| ++ | because |^++v|
| | |^<<<|
+----+ +----+
测试用例
>>>>>>vvvvv<<<<^^^>>v
+-------+
| |
+-+---+ |
| | |
| + | |
| +-+ |
| |
+-----+
^^^^^vvv<<<^^vv>>>>>>>>vv>><<^^^^v>>>>v^<^
+-+
+-+| | +-++-+
| || | | ++ ++
| ++ +-+ |
| +-+ |
+--+ +-+ +-+-+
| | | |
+-+ +---+
因为这是高尔夫球比赛的挑战,所以最短的比赛胜出。
快乐打高尔夫球。
编辑 很抱歉,您不能进行后期编辑,最近我没有太多时间。
地图是根据运动生成的。它应该只包含在步行过程中访问过的走廊。因此,创建一个大房间将不是一个有效的答案。
地图中有三个有效符号:
|垂直墙|水平墙+纵横墙的交点。
路径的最大长度为255个字符(但如果可以,请不要限制自己)。
更多测试用例:
><><><><
+--+
| |
+--+
>^<v
+--+
| |
| |
+--+
我希望现在一切都清楚了。
3
您需要提供任务说明。甚至没有以看起来一致的方式来处理这两个测试用例-第一个没有明显的原因添加了一个断开的区域。
—
feersum'9
您的第二个示例有一个封闭的房间,我最初认为这是因为外边界应为矩形,但随后的第三个示例则反驳了这一想法。发布前,请使用沙盒获取有关挑战的反馈。
—
El'endia Starman'9
优秀的。我仍然建议明确说明这些动作如何构成地牢。
—
El'endia Starman
“显示地图”是什么意思?是否可以从函数返回地图?
—
Paul Schmitz
这看起来很有趣。是否有进行编辑使其重新打开的机会?需要特别注意的事情:从示例中看,您似乎不介意输出周围有多余的空格,但是最好弄清楚。另外,如果您明确描述墙壁的外观并回答牛奶的问题,也应使问题足够清楚。我认为您尚未涵盖的一件事是
—
Dave
vvv>>^^^<<将产生什么输出(交叉?管道?)