Gli scacchi esagonali descrivono una famiglia di varianti di scacchi giocate su una scacchiera in cui le celle sono esagoni invece dei quadrati tradizionali. Esistono molte varianti del genere; in questa sfida ci concentreremo sulla variante di Gliński, che è la più comune.
Il tabellone è composto da tre colori (in modo che lo stesso colore non condivida un bordo), con i bordi degli esagoni rivolti verso i giocatori. La scheda dispone di 11 file, contrassegnate da lettere a
tramite l
(lettera j
non viene utilizzato), e 11 gradi (che piegano 60 ° al di file f
). Ranghi 1
attraverso 6
contengono ciascuno 11 celle, rango 7
ha 9 cellule, rango 8
ha 7, e così via. Il grado 11
contiene esattamente una cella: f11 . (Se aiuta, pensa ad ogni rango come a formare una "V" molto ampia.)
Ecco un'immagine di esempio della scacchiera, con il cavaliere sulla cella centrale. Le celle contrassegnate da un punto sono le mosse legali di questo particolare cavaliere. Il cavaliere si muove in modo simile agli scacchi "normali", due volte in giù. In termini di scacchi esagonali, è una mossa ortogonale (attraverso un bordo), quindi una mossa diagonale nella stessa direzione (la mossa più vicina allo stesso colore). Ad esempio con il cavaliere in basso, una mossa ortogonale "su" verso il marrone chiaro è quindi accompagnata da una mossa diagonale "su e destra" o "su e sinistra" verso il marrone chiaro più vicino.
Dal pubblico dominio tramite https://commons.wikimedia.org/wiki/File:Glinski_Chess_Knight.svg
Questo cavaliere è posizionato su f6 e le mosse legali sono così
c4, c5, d3, d7, e3, e8, g3, g8, h3, h7, i4, i5
Ingresso
Un singolo input che dà la cella di partenza del nostro cavaliere. Questo può essere come una singola stringa "b6"
, come due stringhe "b", "6"
, ecc., In qualsiasi formato conveniente . Le lettere di input possono essere maiuscole o minuscole - a scelta.
Produzione
Un elenco delle mosse valide che un cavaliere in quella posizione può fare. Questo può essere come una matrice di stringhe, una singola stringa con un delimitatore inequivocabile e coerente, stringhe separate per newline, ecc., Qualsiasi cosa sia più conveniente. L'output non deve necessariamente essere in ordine, e può essere in maiuscolo o in minuscolo - la tua scelta.
Regole
- Supponiamo che non ci siano altri pezzi sul tabellone o che interferiscano con le mosse. Ci stiamo concentrando solo sul cavaliere.
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- Se possibile, includi un link a un ambiente di test online in modo che altre persone possano provare il tuo codice!
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
Esempi
b6
a3, c4, d5, d9, e7, e8
f6
c4, c5, d3, d7, e3, e8, g3, g8, h3, h7, i4, i5
f11
d8, e8, g8, h8
i1
f2, f3, g4, h4, l2, k3