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

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

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

Листинг программы
  1. public static void Main()
  2. {
  3. TestMove("a1", "d4");
  4. TestMove("f4", "e7");
  5. TestMove("a1", "a4");
  6. FinalTesting();
  7. }
  8. public static void TestMove(string from, string to)
  9. {
  10. Console.WriteLine("{0}-{1} {2}", from, to, IsCorrectMove(from, to));
  11. }
  12.  
  13. public static bool IsCorrectMove(string from, string to)
  14. {
  15. var dx = Math.Abs(to[0] - from[0]); //смещение фигуры по горизонтали
  16. var dy = Math.Abs(to[1] - from[1]); //смещение фигуры по вертикали
  17. }
Написать программу, которая по шахматному ходу определяет корректный ли это ход ферзя. Координаты исходной и конечной позиции хода передаются строкой в обычной шахматной нотации, например, "a1". Вроде ве бы ничего, нужно просто дописать метод isCorrectMove(), но я вообще не понимаю, как мы можем строку, преобразовать в модуль, не имея числа да еще и не конвертируя ее в число. То есть, что значат строки var dx = Math.Abs(to[0] - from[0]); и пр.

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

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

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


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

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

13   голосов , оценка 4.154 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы