Auf einem Brett befinden sich einige Eisenpartikel. Wir führen einen stromführenden Draht durch diese Platine und die Partikel bilden Kreise. Zeigen Sie diese Kreise an, wenn die angegebene Eingabe die Position des Drahtes ist.
Betrachten Sie das Board als ein Raster der Größe 7x7 (fest)
Es sind keine zusätzlichen Leerzeichen zulässig.
Die Eingabe kann 0-indiziert oder 1-indiziert sein. (0-indiziert in Beispielen)
Beispiele
input:3,3 # 'X' is wire here but can be shown by anything other than '\/|-'
output:
/-----\
|/---\|
||/-\||
|||X|||
||\-/||
|\---/|
\-----/
input:1,2
output:
|/-\|||
||X||||
|\-/|||
\---/||
-----/|
------/
-------
input:0,0
output:
X||||||
-/|||||
--/||||
---/|||
----/||
-----/|
------/
input:0,3
output:
|||X|||
||\-/||
|\---/|
\-----/
-------
-------
-------
input:3,0
output:
---\|||
--\||||
-\|||||
X||||||
-/|||||
--/||||
---/|||
Das ist Code-Golf, also gewinnt der kürzeste Code.
Antworten:
J , 40 Bytes
Probieren Sie es online!
quelle
R ,
136,119,116 BytesProbieren Sie es online!
Funktion, die die (Zeilen-, Spalten-) Koordinaten der Leitung (1-indiziert) nimmt und eine 7x7-Matrix mit den Zeichen zurückgibt.
quelle
Canvas ,
27232221 BytesProbieren Sie es hier aus!
quelle
JavaScript (ES7),
105103 ByteNimmt die Eingabe als
(y)(x)
0-indiziert an.Probieren Sie es online!
quelle
Perl 6 , 90 Bytes
Probieren Sie es online!
Anonymer Codeblock, der zwei Zahlen akzeptiert und eine Liste von Zeilen zurückgibt.
quelle
Python 2 , 105 Bytes
Probieren Sie es online!
quelle
Holzkohle , 21 Bytes
Probieren Sie es online! Nimmt 0-indizierte Spalten und Zeilen als Eingabe. Erläuterung:
Zeichne ein Dreieck von
-
s.Zeichnen Sie eine Linie entlang der Hypotenuse. (Dies ist der falsche Weg, aber wir werden das später beheben.)
Zeichnen Sie das
X
, das die Position des Drahtes zeigt. (Hier kann natürlich jedes andere ASCII-Zeichen verwendet werden.) Damit ist ein Achtel der Zeichnung fertig.Dreimal spiegeln (
¬
= links + unten), während Zeichen transformiert werden, um das Diagramm fast zu vervollständigen.Überlegen Sie sich, ohne sich zu verwandeln, und tauschen Sie das
/
s gegen das\
s aus, sodass sie jetzt auf dasX
anstatt darauf zeigen.Springe zum oberen linken Rand der gewünschten Ausgabe.
Schneiden Sie das Ergebnis auf die gewünschte Größe.
quelle