Track
/
Haskell
Haskell
/
Esercizi
/
Attacco della regina
Attacco della regina

Attacco della regina

Medio

Istruzioni

Date le posizioni di due regine su una scacchiera, indica se sono posizionate in modo da potersi attaccare a vicenda.

Nel gioco degli scacchi, una regina può attaccare i pezzi che si trovano sulla stessa riga, colonna o diagonale.

Una scacchiera può essere rappresentata da un array 8 per 8.

Quindi, se ti viene detto che la regina bianca si trova in c5 (con indici a partire da zero: colonna 2, riga 3) e la regina nera in f2 (con indici a partire da zero: colonna 5, riga 6), allora sai che la disposizione è questa:

Una scacchiera con due regine. Le frecce che partono dalla regina in c5 indicano le possibili direzioni di cattura lungo colonna, traversa e diagonale.

Puoi anche rispondere se le regine possono attaccarsi a vicenda. In questo caso, la risposta sarebbe sì, possono, perché entrambi i pezzi condividono una diagonale.

Crediti

L'immagine della scacchiera è stata realizzata da habere-et-dispertire usando LaTeX ed il pacchetto chessboard di Ulrike Fischer.

Suggerimenti

Per completare questo esercizio, devi implementare le seguenti funzioni:

  • boardString
  • canAttack

Troverai già le firme di tipo, ma sta a te definire le funzioni.

Le posizioni sono indicate come coppie di due elementi:

  • Il primo elemento è la riga (la traversa, in termini scacchistici).
  • Il secondo elemento è la colonna (il file, in termini scacchistici).
  • (0, 0) è l'angolo in alto a sinistra della scacchiera, (0, 7) è l'angolo in alto a destra,
  • (7, 0) è l'angolo in basso a sinistra, e (7, 7) è l'angolo in basso a destra.
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Haskell Exercism

Vuoi iniziare Attacco della regina?

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