Collega

Collega

Difficile

Istruzioni

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.

Istruzioni specifiche del track

Potresti notare che alcuni casi di test sembrano ingiusti. Eppure, potrebbero esserlo a buon diritto. Per esempio, è comune dare ai giocatori giovani o principianti n pezzi in più in posizioni fisse sul tabellone, così in una partita per il resto del tutto regolare può capitare che il numero di pezzi non coincida.

In ogni caso, questo esercizio si occupa solo di determinare un vincitore per una partita che può avere parametri diversi, come la lunghezza del tabellone e i pezzi extra. Non è interessato a nessun altro stato della partita, come chi ha mosso dove e quando, o a chi tocca.

Quindi non lasciarti confondere da quelle partite apparentemente ingiuste.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Scala Exercism

Vuoi iniziare Collega?

Iscriviti a Exercism per imparare e padroneggiare Scala con 95 esercizi e il mentoring di persone reali, tutto gratis.