サンドボックス
現在のタスクの目的のために、ユニット長の立方体は、次のようにASCIIシンボルを使用して斜め投影でレンダリングされます。
+-----+
/ /|
+-----+ |
| | +
| |/
+-----+
+
頂点のために。-
Xエッジの場合。Xに沿った単位の長さは-
、2つの頂点間の5 で表されます。|
Yエッジの場合。Yに沿った単位の長さは、2|
つの頂点の間の2つで表されます。/
Zエッジ用。Zに沿った単位の長さは/
、2つの頂点間の1つで表されます。- 頂点は、3つの平面すべてが交差する場所にのみ描画されます。
- エッジは、正確に2つの平面が交差する場所にのみ描画されます。
単位面が押し出されると、元の位置から単位長だけオフセットされ、各方向(正と負)に4つの新しいエッジが作成されます。
押し出しは、各軸が断面1x1で長さn
が(0,0,0)から離れた直方体として表される3Dデカルト座標系の軸を描くことと考えることができます。
Xに沿って1押し出し:
+-----------------+
/ /|
+-----------------+ |
| | +
| |/
+-----------------+
仕事
XYZ軸に3つの数値を指定し、指定された量だけ対称的に単位立方体の面を押し出し、上記のようにASCIIシンボルで結果をレンダリングします。
入力
x、y、z-非負の数-各軸の押し出しの長さ。0は押し出しがないことを意味します。入力には、3つの数字、3つの数字のリスト、トリプル、文字列、または便利なものを使用できます。
出力
押し出し後のキューブのASCII図面。先頭および末尾のwihtespacesは許可されます。
テストケース
X Y Z
0 0 0
+-----+
/ /|
+-----+ |
| | +
| |/
+-----+
1 0 0
+-----------------+
/ /|
+-----------------+ |
| | +
| |/
+-----------------+
0 0 1
+-----+
/ /|
/ / |
/ / +
/ / /
/ / /
+-----+ /
| | /
| |/
+-----+
1 1 0
+-----+
/ /|
+-----+ |
+---| | +-----+
/ | |/ /|
+-----+ +-----+ |
| | +
| |/
+-----+ +-----+
| | +
| |/
+-----+
2 0 1
+-----+
/ /|
+-----------+ +-----------+
/ /|
+-----------+ +-----------+ |
| / /| | +
| +-----+ | |/
+---------| | +-----------+
| |/
+-----+
1 1 1
+-----+
/ /|-+
+-----+ |/|
+---| | +-----+
/ | |/ /|
+-----+-----+-----+ |
| / /| | +
| +-----+ | |/
+---| | +-----+
| |/| +
+-----+ |/
+-----+
受賞基準
すべての言語のバイト単位の最短ソリューションが勝ちです。使用した方法とコードの簡単な説明を追加してください。