Треки
/
Elixir
Elixir
/
Вправи
/
Шахівниця
Шахівниця

Шахівниця

Навчальна вправа

Вступ

Діапазони

Діапазони представляють послідовність з одного або багатьох послідовних цілих чисел. Їх створюють, зʼєднуючи два цілих числа оператором ...

1..5

Діапазони бувають зростаючими або спадними. Вони завжди включають перше й останнє значення.

Діапазон реалізує протокол Enumerable, тобто функції з модуля Enum можна використовувати для роботи з діапазонами.

Вказівки

Як шанувальники шахів, ми хотіли б написати власну версію гри. Так, можливо, у мережі вже є чимало реалізацій шахів, але наша буде неповторною!

Але перш ніж дати волю уяві, нам треба подбати про основи. Почнімо зі створення дошки.

Кожна клітинка шахівниці позначається парою «літера-число». Вертикальні стовпці клітинок, які називаються вертикалями, позначені літерами від A до H. Горизонтальні ряди клітинок, які називаються горизонталями, пронумеровані від 1 до 8.

1. Визначте діапазон рангів

Реалізуйте функцію rank_range/0. Вона повинна повертати діапазон цілих чисел від 1 до 8.

Chessboard.rank_range()

2. Визначте діапазон вертикалей

Реалізуйте функцію file_range/0. Вона повинна повертати діапазон цілих чисел від коду символа великої літери A до коду символа великої літери H.

Chessboard.file_range()

3. Перетворіть діапазон рангів на масив рангів

Реалізуйте функцію ranks/0. Вона повинна повертати масив цілих чисел від 1 до 8. Не записуйте масив вручну, а згенеруйте його з діапазону, який повертає функція rank_range/0.

Chessboard.ranks()
# => [1, 2, 3, 4, 5, 6, 7, 8]

4. Перетворіть діапазон вертикалей на масив вертикалей

Реалізуйте функцію files/0. Вона повинна повертати масив літер, тобто рядків тексту (англ. string), від "A" до "H". Не записуйте масив вручну, а згенеруйте його з діапазону, який повертає функція file_range/0.

Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Elixir Exercism

Час розпочати Шахівниця?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Elixir, а також 58 концепцій168 вправ та справжнє наставництво від людей, і все це безкоштовно.