Calcula o resultado de um jogo de Hex / Polygon.
O jogo de tabuleiro abstrato conhecido como Hex / Polygon / CON-TAC-TIX é bastante simples em termos de regras, embora seja complexo na prática. Dois jogadores colocam pedras num paralelogramo com casas hexagonais. Ganha o jogador que conseguir ligar as suas pedras ao lado oposto primeiro. Os quatro lados do paralelogramo são divididos entre os dois jogadores (ou seja, um jogador fica com um lado e com o lado diretamente oposto, e o outro jogador fica com os dois restantes).
O teu objetivo é criar um programa que, dada uma representação simples de um tabuleiro, calcula o vencedor (ou a ausência de vencedor). Repara que nem todos os jogos têm de ser "justos". (Por exemplo, os jogadores podem ter quantidades de peças diferentes ou o tabuleiro do jogo pode ter uma largura e uma altura diferentes.)
Os tabuleiros têm este aspeto:
. O . X .
. X X O .
O O O X .
. X O X O
X O O O X
"O jogador O" joga de cima para baixo e "O jogador X" joga da esquerda para a direita.
No exemplo acima, O fez uma ligação da esquerda para a direita, mas ninguém ganhou, porque O não ligou a parte de cima à de baixo.
Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.