Connect

Connect

Difícil

Instruções

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.

Editar via GitHub A ligação abre numa nova janela ou separador
Haskell Exercism

Estás pronto para começar Connect?

Inscreve-te no Exercism para aprenderes e dominares Haskell com 107 exercícios, e mentoria humana real, tudo grátis.