Как определить корректный ли ход ферзя? C#

Сегодня мы рассмотрим одну задачу, в которой имеются три метода, один из которых необходимо дописать самостоятельно. И так по условию задания нам необходимо вычислить верно ли ходит ферзь по заданным клеткам шахматной доски. Если кто не знает, ферзь ходит строго по диагонали и в стороны, без всяких зигзаков итд. Для понимания задания стоит взглянуть на шахматную доску на которой имеется разметка.

Приведу пример готовых методов:

И метод который необходимо дописать:

И так после запуска приложения передаются координаты, начальной позиции ферзя и конечная позиция, в том методе где нам необходимо дописать код проверки правильности позиций ферзя, в случаи если так нельзя пойти, return возвращает false. Задача не на столько тривиальна, но может сбить начинающего программиста столку. Я не спроста выложил шахматную доску, для большего понимания происходящего. И так нам необходимо сделать условие при котором произойдет проверка. Во первых смещение по горизонтали и вертикали может быть равным, а так же смещение по вертикали и горизонтали могут быть равны 0. Во вторых как мы видим из задания позиция ферзя может остаться на одно месте, что не будет противоречить нашему условию, но противоречит правилам игры. Для этого в условие добавим условие проверки позиции до и после. И так взглянем код и посмотрим что же получилось:

Таким образом мы решили программу одной лишь строчкой кода 🙂

Обновлено: 23.12.2017 — 14:54

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.