Drucken Sie mit ASCII einen Abschnitt einer Sechskantringkachelung.
Hier ist ein kleiner Abschnitt:
/\__/\
/_/ \_\
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
\ \__/ /
\/__\/
Hier ist ein größerer Abschnitt:
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
Herausforderung
Bei 2 ganzen Zahlen h
und w
, wobei h
die Höhe und w
die Breite ist, wird ein hxw
Abschnitt einer Sechskantringkachelung ausgegeben .
Beispiele
Eingabe 1
4x4
Ausgabe 1
/\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\
Eingabe 2
3x3
Ausgabe 2
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
Eingabe 3
1x3
Ausgabe 3
/\__/\ \__/ /\__/\
/_/ \_\/__\/_/ \_\
\ \__/ /\__/\ \__/ /
\/__\/_/ \_\/__\/
Eingabe 4
3x6
Ausgabe 4
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
/\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /
/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/
\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\
\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\
Klarstellungen
- Meine Frage ähnelt dieser: Ich will Wabe .
- Die Eingabe erfolgt in einer einzelnen Zeile im Formular
hxw
. - Ausgabe an stdout (oder ähnliches).
- Dies ist Code-Golf, so dass die kürzeste Antwort in Bytes gewinnt.
Antworten:
Befunge, 137 Bytes
Ich habe anscheinend eine Art Scifi-Handfeuerwaffe geschaffen.
Probieren Sie es online aus!
Erläuterung
quelle
Lua,
174176156 BytesDer Code würde die Höhe der Zeilen und nicht die Höhe der Sechsecke drucken. Hinzugefügt
*4
, das hat es behoben, aber 2 zusätzliche Bytes hinzugefügt. Speichern Sie einige Bytes, indem Sie den Zähler von if auf modulo ändern und zweiio.read()
s in eins setzen.Wird
io.read()
als Eingabe verwendet.Repliziert die Anzahl der Zeichenfolgen in der Breite über
string:rep(width)
und wiederholt die Höhe in der Höhe mit einer for-Schleife. Benötigt[[]]
(wörtliche Zeichenfolgen), weil die Backslashes wirklich alles vermasselt haben.Alte Version:
quelle
Python 2, 180 Bytes
Nimmt die Eingabe als zwei Ganzzahlen auf
Eingang:
2,7
Ausgabe:
quelle
Stapel, 266 Bytes
Das
:c
Unterprogramm erledigt die gesamte Arbeit, um die Teile für eine einzelne Zeile zu verketten. Es wird:l
viermal aufgerufen (einmal im Herbst, indem die:l
Argumente als Obermenge von:c
s angeordnet werden), um die vier Zeilen für jede Ringreihe zu generieren. Es bestand auch die Möglichkeit, stattdessen für die letzte Reihe von Ringen durchzufallen, aber es stellte sich heraus, dass es 5 Bytes länger war.quelle