Написать программу, которая по шахматному ходу определяет корректный ли это ход ферзя - C#

Узнай цену своей работы

Формулировка задачи:

public static void Main()
{
    TestMove("a1", "d4");
    TestMove("f4", "e7");
    TestMove("a1", "a4");
    FinalTesting();
}
 
public static void TestMove(string from, string to)
{
    Console.WriteLine("{0}-{1} {2}", from, to, IsCorrectMove(from, to));
}

public static bool IsCorrectMove(string from, string to)
{
    var dx = Math.Abs(to[0] - from[0]); //смещение фигуры по горизонтали
    var dy = Math.Abs(to[1] - from[1]); //смещение фигуры по вертикали
    
}
Написать программу, которая по шахматному ходу определяет корректный ли это ход ферзя. Координаты исходной и конечной позиции хода передаются строкой в обычной шахматной нотации, например, "a1". Вроде ве бы ничего, нужно просто дописать метод isCorrectMove(), но я вообще не понимаю, как мы можем строку, преобразовать в модуль, не имея числа да еще и не конвертируя ее в число. То есть, что значат строки var dx = Math.Abs(to[0] - from[0]); и пр.

Решение задачи: «Написать программу, которая по шахматному ходу определяет корректный ли это ход ферзя»

textual
Листинг программы
public static bool IsCorrectMove(string from, string to)
{
    var dx = Math.Abs(to[0] - from[0]);
    var dy = Math.Abs(to[1] - from[1]);
    return (dx == dy || dx == 0 || dy == 0 && from != to);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы