|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.06.2015, 20:05 | #1 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
Delphi (Lazarus). Обход шахматной доски конём
Добрый день. Возникла задача обойти доску конём. Есть код, который запускается, но не то, чтобы правильно работает. Проставляется первый ход и всё, остальные поля оставляет заполненными нулями, а должны номерами ходов. Помогите, пожалуйста, разобраться.
Код:
|
10.06.2015, 16:31 | #2 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
Задание заключается в рекурсивной проверке возможности обойти конём (фигурой с соответствующим ходом) шахматную доску. В каждой клетке должен отображаться номер хода, на котором конь попал в эту клетку (до 64). В Edit'ы записываю первоначальное положение коня (по координатам). На выходе StringGrid с заполненными полями. В этом и проблема: на StringGrid'е только первоначальное положение коня, дальше не отображается.
|
10.06.2015, 18:06 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
написано в Delphi
бегает, меняет цифирки. окончания работы таки не дождался (~10 мин.) не так уж там мало вариантов для тотального перебора.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 10.06.2015 в 18:08. |
10.06.2015, 18:30 | #4 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
У меня всё за границы выходит с ошибкой
|
10.06.2015, 22:45 | #5 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
полет нормальный. ждем-с.
Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 10.06.2015 в 22:54. |
|
10.06.2015, 23:13 | #6 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
Проверьте, пожалуйста, нету ли ошибки.
Код:
|
11.06.2015, 07:06 | #7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Вот это
Код:
иначе мы так и не получим успеха из-за Код:
что делать "писалось в блокноте" за пять минут и никак не тестировалось. чтобы проверить работоспособность своей версии программы возьмите поле 3х3 (то есть задайте проверку ... in [1..3]) начальная позиция в углу (1,1) и максимальное число шагов 8 ( if step=8 then exit; ) (мы никак не сможем попасть в центральную клетку, но должны обойти все остальные).
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 11.06.2015 в 07:19. |
11.06.2015, 10:59 | #8 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
У меня срабатывает ошибка выхода за границы StringGrid'а.
Какая часть ответственна за задания размеров StringGrid, эта? Код:
|
11.06.2015, 11:35 | #9 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Цитата:
Исключительно для "анимации" (изменения картинки) (для работы программы это не нужно) была сделана смена ТЕКУЩЕЙ ячейки. Код:
программа — запись алгоритма на языке понятном транслятору
|
||
12.06.2015, 16:35 | #10 |
Пользователь
Регистрация: 09.06.2015
Сообщений: 21
|
Спасибо большое за помощь и объяснение.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Красивая реализация шахматной доски | BestStrikS | C# (си шарп) | 5 | 05.06.2015 11:48 |
Обход "Конём" шахматной доски С++ | Facktor | Общие вопросы C/C++ | 0 | 22.02.2014 13:14 |
Создание своего класса в Delphi 7 - фигуры для шахматной доски | electric | Компоненты Delphi | 18 | 24.10.2013 15:06 |
Обход шахматной доски конем | wazaaaup | Помощь студентам | 1 | 04.07.2011 20:54 |
Пролог. Обход конем шахматной доски | Gambler | Помощь студентам | 9 | 08.12.2010 22:19 |