Calcola il risultato di una partita a Hex / Polygon.
Il gioco da tavolo astratto noto come Hex / Polygon / CON-TAC-TIX ha regole piuttosto semplici, ma è complesso in pratica. Due giocatori posizionano le pedine su un parallelogramma con caselle esagonali. Vince il giocatore che per primo collega le proprie pedine al lato opposto. I quattro lati del parallelogramma sono divisi tra i due giocatori (cioè a un giocatore vengono assegnati un lato e il lato direttamente opposto, mentre all'altro vengono assegnati gli altri due lati).
Il tuo obiettivo è costruire un programma che, data una semplice rappresentazione di un tabellone, determini il vincitore (o l'assenza di un vincitore). Tieni presente che non è detto che tutte le partite siano «equilibrate». (Per esempio, i giocatori possono avere un numero diverso di pedine oppure il tabellone del gioco può avere larghezza e altezza diverse.)
I tabelloni hanno questo aspetto:
. O . X .
. X X O .
O O O X .
. X O X O
X O O O X
Il «giocatore O» gioca dall'alto verso il basso, il «giocatore X» gioca da sinistra a destra.
Nell'esempio qui sopra O ha realizzato un collegamento da sinistra a destra, ma nessuno ha vinto, dato che O non ha collegato l'alto e il basso.
Iscriviti a Exercism per imparare e padroneggiare Free Pascal con 100 esercizi e il mentoring di persone reali, tutto gratis.