Vedi anche: fai una mossa su una tavola Go .
Compito
Go è un gioco da tavolo in cui due giocatori (bianco e nero) posizionano le pietre sulle intersezioni delle linee della griglia su una tavola 19 × 19. Il nero si sposta per primo, ad esempio su D4:
In questa sfida, devi prendere una coordinata Go board D4
come input e produrre una rappresentazione ASCII di una board con la prima mossa giocata in un dato punto.
Si noti che non esiste una colonna I. Questo è, storicamente, per ridurre la confusione con J e L.
Questo output è composto da 19 righe, ciascuna contenente 19 caratteri. Il punto con la pietra su di esso è segnato O
. Punti vuoti all'interno della tavola sono mostrati come .
, fatta eccezione per i nove punti stella (a D4
, D10
, D16
, K4
, K10
, K16
, Q4
, Q10
, e Q16
), che sono contrassegnati *
.
Ad esempio, dato F5
come input, l'output della risposta deve essere:
...................
...................
...................
...*.....*.....*...
...................
...................
...................
...................
...................
...*.....*.....*...
...................
...................
...................
...................
.....O.............
...*.....*.....*...
...................
...................
...................
E dato Q16
come input, il tuo output deve essere:
...................
...................
...................
...*.....*.....O...
...................
...................
...................
...................
...................
...*.....*.....*...
...................
...................
...................
...................
...................
...*.....*.....*...
...................
...................
...................
Regole
È possibile scrivere una funzione che accetta le coordinate come argomento o un programma che legge le coordinate dalla riga di comando o da
STDIN
.Puoi scegliere di accettare input in minuscolo o maiuscolo, ma la tua risposta non deve gestire entrambi.
L'input è sempre una singola stringa come
a1
oT19
, mai una stringa + numero o due stringhe.Se si scrive un programma completo, la risposta deve essere stampata
STDOUT
come una stringa, facoltativamente seguita da una nuova riga finale. Se la risposta è una funzione, è possibile stampare aSTDOUT
, o restituire una stringa, o di restituire un array / lista di stringhe (righe), o restituire una matrice bidimensionale o una lista annidata di caratteri.Questo è code-golf . Vince la risposta più breve in byte.
f("G", 14)
, corretti?