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.

Instruções específicas do track

Podes notar que alguns casos de teste parecem injustos. No entanto, pode haver boas razões para isso. Por exemplo, é comum dar a jogadores jovens ou principiantes n peças extra em posições fixas do tabuleiro, pelo que podem surgir contagens de peças diferentes num jogo que, de resto, é perfeitamente legal.

Seja como for, este exercício só se preocupa em determinar o vencedor de um jogo que pode ter vários parâmetros, como o comprimento do tabuleiro e as peças extra. Não lhe interessa qualquer outro estado do jogo, como quem jogou onde, quando, ou de quem é a vez.

Por isso, não fiques baralhado com esses jogos que parecem injustos.

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

Estás pronto para começar Connect?

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