输入项
- 表示地牢壁的二进制矩阵
- 玩家在地牢中的位置。
- 玩家当前面对的方向(0 =北,1 =东,2 =南,3 =西)
输出量
播放器视场中墙壁的伪3D表示形式,为字符的ASCII艺术。
下面是几个可能的输出框架,以及相应的地图和指南针,以帮助您掌握其窍门(但绘制地图和指南针并不是挑战的一部分)。
规格
视场
玩家在其视野中有面墙,从到标记。以下是在所有可能的方向上墙相对于播放器的位置(黄色)。
画墙
墙壁应该从画到任何部分都可能被更靠近的墙壁覆盖,则应按照此精确顺序绘制墙壁。只要最终结果相同,您当然可以实施不同的方法。
整个输出画有7点不同的字符:" "
,"'"
,"."
,"|"
,"-"
,"_"
和":"
。
由于详细说明此挑战主体中的墙壁形状会使其过长,因此可以在以下TIO链接中提供它们:
"?"
在这些图中,不属于给定墙的字符用标记。必须将它们视为完全不绘制的“透明”字符。另一方面,墙内的所有空间都是“实体”,并且必须覆盖以前可能在此绘制的任何其他字符。
规则
关于输入
- 您可以采用任何合理格式的,,和。
- 您可以使用0索引或1索引的坐标。
- 您可以为指示使用4个不同的值。
- 保证矩阵至少为。
- 您可能会假设边缘上总是有围墙。
- 保证播放器位于一个空的正方形上。
- 输入保证有效。
关于输出
- 墙壁必须完全按照描述绘制。
- 但是,输出格式也很灵活:单个字符串,字符串数组,字符矩阵等。
- 只要前后空格一致,就可以接受。
这是代码高尔夫球。
测试用例
所有测试用例都使用以下矩阵:
[ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ],
[ 1, 0, 1, 1, 1, 0, 0, 0, 0, 1 ],
[ 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 ],
[ 1, 0, 0, 0, 0, 0, 1, 1, 0, 1 ],
[ 1, 0, 0, 1, 0, 0, 0, 1, 0, 1 ],
[ 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 ],
[ 1, 1, 1, 1, 0, 0, 0, 0, 0, 1 ],
[ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 ],
[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ]
x=3, y=3, d=0
x=6, y=4, d=3
x=4, y=4, d=1
x=1, y=5, d=2
x=7, y=7, d=3
x=6, y=6, d=1
x=8, y=1, d=2
x=7, y=6, d=1
预期产出:
------------------------------ ------------------------------
x=3, y=3, d=0: x=6, y=4, d=3:
------------------------------ ------------------------------
__ __ '. .'
|'. .'| | |
| '.--------------.' | |----. |
| | | | | | '.--------. |
| | | | | | | | |
| | | | | | | | |
| | | | | | .'--------' |
| .'--------------'. | |----' |
__|.' '.|__ | |
.' '.
------------------------------ ------------------------------
x=4, y=4, d=1: x=1, y=5, d=2:
------------------------------ ------------------------------
.' __ ________________________ .'
| | |
-------. .----| | |
| '.--------.' | | | |
| | | | | | |
| | | | | | |
| .'--------'. | | | |
-------' '----| | |
| __|________________________|
'. '.
------------------------------ ------------------------------
x=7, y=7, d=3: x=6, y=6, d=1:
------------------------------ ------------------------------
'. '.
|'. |'.
| '. | '.
| | '. .- | |--.--------.--------.-
| | |: :| | | | | |
| | |: :| | | | | |
| | .' '- | |--'--------'--------'-
| .' | .'
|.' |.'
.' .'
------------------------------ ------------------------------
x=8, y=1, d=2: x=7, y=6, d=1:
------------------------------ ------------------------------
'. __ '.
|'. .'| |
| '. .' | |----.--------------.-------
| | '. .' | | | | |
| | |: :| | | | | |
| | |: :| | | | | |
| | .' '. | | | | |
| .' '. | |----'--------------'-------
|.' '.|__ |
.' .'
相关挑战:
2013年的这一挑战密切相关。但是它有一个不同的获胜标准(代码挑战),输出规范宽松得多,并且需要交互式I / O。