Trilhas
/
Haskell
Haskell
/
Exercícios
/
Ataque da rainha
Ataque da rainha

Ataque da rainha

Médio

Instruções

Dadas as posições de duas rainhas em um tabuleiro de xadrez, indique se elas estão posicionadas de modo que possam atacar uma à outra.

No jogo de xadrez, uma rainha pode atacar peças que estejam na mesma linha, coluna ou diagonal.

Um tabuleiro de xadrez pode ser representado por um array de 8 por 8.

Então, se disserem que a rainha branca está em c5 (com índice começando em zero: coluna 2, linha 3) e a rainha preta em f2 (com índice começando em zero: coluna 5, linha 6), você sabe que a configuração é assim:

Um tabuleiro de xadrez com duas rainhas. Setas que saem da rainha em c5 indicam as possíveis direções de captura ao longo de colunas, linhas e diagonais.

Você também consegue responder se as rainhas podem atacar uma à outra. Nesse caso, a resposta seria sim, elas podem, porque as duas peças compartilham uma diagonal.

Créditos

A imagem do tabuleiro de xadrez foi feita por habere-et-dispertire usando LaTeX e o pacote chessboard de Ulrike Fischer.

Dicas

Para completar este exercício, você precisa implementar as seguintes funções:

  • boardString
  • canAttack

Você encontrará as assinaturas de tipo já no lugar, mas cabe a você definir as funções.

As posições são especificadas como duplas:

  • O primeiro elemento é a linha (fileira em termos de xadrez).
  • O segundo elemento é a coluna (file, em termos de xadrez).
  • (0, 0) é o canto superior esquerdo do tabuleiro, (0, 7) é o canto superior direito,
  • (7, 0) é o canto inferior esquerdo, e (7, 7) é o canto inferior direito.
Editar via GitHub O link abre em uma nova janela ou aba
Haskell Exercism

Tudo pronto para começar Ataque da rainha?

Crie sua conta no Exercism para aprender e dominar Haskell com 107 exercícios e mentoria humana de verdade, tudo de graça.