Parcours
/
Haskell
Haskell
/
Exercices
/
Attaque de la dame
Attaque de la dame

Attaque de la dame

Moyen

Instructions

À partir de la position de deux dames sur un échiquier, indique si elles sont placées de manière à pouvoir s'attaquer l'une l'autre.

Au jeu d'échecs, une dame peut attaquer les pièces qui se trouvent sur la même rangée, la même colonne ou la même diagonale.

On peut représenter un échiquier par un tableau de 8 par 8.

Ainsi, si on te dit que la dame blanche se trouve en c5 (colonne 2, rangée 3, en comptant à partir de zéro) et la dame noire en f2 (colonne 5, rangée 6, en comptant à partir de zéro), tu sais alors que la disposition est la suivante :­

Un échiquier avec deux dames. Des flèches partant de la dame en c5 indiquent les directions de prise possibles le long des colonnes, des rangées et des diagonales.

Tu peux aussi déterminer si les dames peuvent s'attaquer l'une l'autre. Dans ce cas, la réponse serait oui, elles le peuvent, car les deux pièces partagent une diagonale.

Crédits

L'image de l'échiquier a été réalisée par habere-et-dispertire avec LaTeX et le paquet chessboard d'Ulrike Fischer.

Indices

Pour terminer cet exercice, tu dois implémenter les fonctions suivantes :

  • boardString
  • canAttack

Tu trouveras les signatures de type déjà en place, mais c'est à toi de définir les fonctions.

Les positions sont indiquées sous forme de tuples de deux éléments :

  • Le premier élément est la ligne (la rangée, aux échecs).
  • Le deuxième élément est la colonne (la file, aux échecs).
  • (0, 0) est en haut à gauche de l'échiquier, (0, 7) est en haut à droite,
  • (7, 0) est en bas à gauche, et (7, 7) est en bas à droite.
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Haskell Exercism

Prêt à commencer Attaque de la dame ?

Inscris-toi sur Exercism pour apprendre et maîtriser Haskell avec 107 exercices, et un vrai mentorat humain, le tout gratuitement.