![]() |
Задача в паскале "Ход конем"
помогите решить задачу
Даны две литеры - латинская буква (от a до h) и цифра (от 1 до 8). Рассматривая их как координаты по-ля шахматной доски, на котором находится конь, нари-совать шахматную доску, пометив крестиками все поля, которые «бьет» этот конь, и ноликами все остальные. |
А в чем проблема-то? Конь знаешь, как ходит?
Ну если в лоб, то заводишь двумерный массив изначально заполненный нулями. Ну а потом ручками ставишь единички в битых конем полях. Всего максимум 8 вариантов ну и проверяешь, чтоб за границы поля не вылезало. В общем случае получится меньше единичек. |
Проблема в том что я не знаю как сделать шахматную доску и привязать к ней координаты
|
leahov
Что значит сделать шахматную доску? Тебе требуется её нарисовать что-ли? Если да, то тут вопрос встает о среде программирования которую ты используешь (TurboPascal/Delphi), графический или текстовый режим. А в памяти программы, как тебе уже сказали, шахматная доска должна быть представлена для твоего случая двумерным массивом чисел, отражающих некие состояния. |
Цитата:
С ходом коня еще проще. Переводим текущую позицию коня в индексы и рассчитываем возможные положения его после хода. Как верно было замечено - их восемь. Далее проверяем полученные координаты на выход за пределы доски и в нужные места на доске проставляем единицы. |
Цитата:
|
Ну и в добавку: в паскале индексы массива не обязательно должны быть числовыми:
array [1..8,a..h] должно работать. |
Задача в аскале. шахматку нарисовал - вот код
что делать дальше |
а почему 8 ходов? я их штук 40 насчитал
|
Ну а теперь "интеллектуальную часть". Прочти второй пост еще разок :biggrin: Двуммерный массив и будет доской. Каждому его элементу будет соответствовать поле шахматной доски. (1, 1) - A1, (2,2) -B2, (1,8) - A8
Индекс, который буквенный переводишь в число, как написано в 5-ом посте. Почему 40 то? Максимум 8. Конь ходит буквой Г, или может ты его со слоном путаешь или ферзем? |
ничего не понял, можешь в коде показать, я посмотрю уже в самом паскале :молись:
|
| Часовой пояс GMT +4, время: 03:33. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.