Das Spiel der chinesischen Kontrolleure wird auf einem Brett mit Feldern in Form eines sechszackigen Sterns gespielt:
Wir können eine ASCII-artige Darstellung dieser Tafel erstellen, indem wir .
für leere Stellen und die Buchstaben GYORPB
für die sechs farbigen Startpositionen verwenden:
G
G G
G G G
G G G G
B B B B . . . . . Y Y Y Y
B B B . . . . . . Y Y Y
B B . . . . . . . Y Y
B . . . . . . . . Y
. . . . . . . . .
P . . . . . . . . O
P P . . . . . . . O O
P P P . . . . . . O O O
P P P P . . . . . O O O O
R R R R
R R R
R R
R
Um es interessanter zu machen, können wir auch die Größe ändern. Wir messen die Größe eines Brettes an der Seitenlänge seiner dreieckigen Startpositionen: Das Brett darüber hat die Größe 4.
Da es wirklich mühsam ist, all das von Hand zu tippen, schreiben wir ein Programm (oder eine Funktion), um es zu tun!
Einzelheiten
Ihr Code sollte über STDIN, ARGV oder ein Funktionsargument eine positive Ganzzahl annehmen, die die Größe der Karte darstellt. Geben Sie das Schachbrettmuster an STDOUT aus (Sie können es alternativ als Zeichenfolge zurückgeben, wenn Ihre Übermittlung eine Funktion ist).
Ausgabe muss entweder
- haben überhaupt keine nachgestellten Leerzeichen, oder
- genau genug nachgestellte Leerzeichen haben, um das Muster zu einem perfekten Rechteck der Breite 6 * N + 1 auszufüllen .
Die Ausgabe kann optional eine nachgestellte Newline enthalten. Es sind keine weiteren zusätzlichen (führenden, nachgestellten) Leerzeichen zulässig.
Beispiele
Größe 1:
G
B . . Y
. . .
P . . O
R
Größe 2:
G
G G
B B . . . Y Y
B . . . . Y
. . . . .
P . . . . O
P P . . . O O
R R
R
Größe 4:
G
G G
G G G
G G G G
B B B B . . . . . Y Y Y Y
B B B . . . . . . Y Y Y
B B . . . . . . . Y Y
B . . . . . . . . Y
. . . . . . . . .
P . . . . . . . . O
P P . . . . . . . O O
P P P . . . . . . O O O
P P P P . . . . . O O O O
R R R R
R R R
R R
R
Wertung
Das ist Code-Golf : Der kürzeste Code in Bytes gewinnt.