Треки
/
JavaScript
JavaScript
/
Вправи
/
Атака ферзя
Атака ферзя

Атака ферзя

Середня

Вказівки

За позиціями двох ферзів на шахівниці визначмо, чи розташовані вони так, що можуть атакувати одна одну.

У шахах ферзь може атакувати фігури, які стоять в одному рядку, стовпці або на одній діагоналі.

Шахівницю можна подати як масив 8 на 8.

Отже, якщо відомо, що білий ферзь стоїть на c5 (з індексацією від нуля: стовпець 2, рядок 3), а чорний ферзь на f2 (стовпець 5, рядок 6), то розташування має такий вигляд:

Шахівниця з двома ферзями. Стрілки, що виходять від ферзя на c5, указують можливі напрямки взяття по вертикалі, горизонталі та діагоналі.

Також можна відповісти, чи можуть ферзі атакувати один одного. У цьому випадку відповідь буде ствердною: так, можуть, бо обидві фігури стоять на одній діагоналі.

Подяка

Зображення шахівниці створив habere-et-dispertire за допомогою LaTeX та пакета chessboard Ульріке Фішер.

Реалізація

Ферзя потрібно розмістити на допустимій позиції на дошці. Два ферзі не можуть займати ту саму позицію.

Якщо позицію не задано, ферзі стоять на своїх типових початкових позиціях. Це нижній ряд (1) для білого ферзя і верхній ряд (8) для чорного ферзя. Обидва ферзі починають у четвертому стовпці (d).

  a b c d e f g h
8 _ _ _ B _ _ _ _ 8
7 _ _ _ _ _ _ _ _ 7
6 _ _ _ _ _ _ _ _ 6
5 _ _ _ _ _ _ _ _ 5
4 _ _ _ _ _ _ _ _ 4
3 _ _ _ _ _ _ _ _ 3
2 _ _ _ _ _ _ _ _ 2
1 _ _ _ W _ _ _ _ 1
  a b c d e f g h
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
JavaScript Exercism

Час розпочати Атака ферзя?

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