Les plages représentent une suite d'un ou plusieurs entiers consécutifs. On les crée en reliant deux entiers avec ...
1..5
Les plages peuvent être croissantes ou décroissantes. Elles incluent toujours la première et la dernière valeur.
Une plage implémente le protocole Enumerable, ce qui signifie que les fonctions du module Enum peuvent être utilisées pour manipuler les plages.
En tant que passionné d'échecs, tu aimerais écrire ta propre version du jeu. Oui, il existe sans doute déjà plein d'implémentations d'échecs en ligne, mais la tienne sera unique !
Mais avant de laisser libre cours à ton imagination, il faut d'abord s'occuper des bases. Commençons par générer l'échiquier.
Chaque case de l'échiquier est identifiée par une paire lettre-nombre. Les colonnes verticales de cases, appelées files, sont étiquetées de A à H. Les rangées horizontales de cases, appelées ranks, sont numérotées de 1 à 8.
Implémente la fonction rank_range/0. Elle doit renvoyer une plage d'entiers, de 1 à 8.
Chessboard.rank_range()
Implémente la fonction file_range/0. Elle doit renvoyer une plage d'entiers, du point de code de la lettre majuscule A au point de code de la lettre majuscule H.
Chessboard.file_range()
Implémente la fonction ranks/0. Elle doit renvoyer une liste d'entiers, de 1 à 8. N'écris pas la liste à la main : génère-la à partir de la plage renvoyée par la fonction rank_range/0.
Chessboard.ranks()
# => [1, 2, 3, 4, 5, 6, 7, 8]
Implémente la fonction files/0. Elle doit renvoyer une liste de lettres (des strings), de "A" à "H". N'écris pas la liste à la main : génère-la à partir de la plage renvoyée par la fonction file_range/0.
Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Inscris-toi sur Exercism pour apprendre et maîtriser Elixir avec 58 concepts168 exercices, et un vrai mentorat humain, le tout gratuitement.