Delphi. Обход доски ферзем
Добрый день, требуется помощь с курсовой работой.
Задача:
Написать программу обхода шахматной доски ферзем. Пройденными, считать клетки, которые ферзь пересек за один ход. Можно "наступать" на пройденные клетки. Условие победы: обход всего поля + возвращение в начальную позицию.
Требуется два режима: Пользовательский и Автоматический
В автоматическом режиме компьютер ставит ферзя в случайную клетку, а затем выбирает "наиболее оптимальное решение", т.е. обход доски за минимальное количество ходов.
Вопросы:
1. Нужно "отмечать" клетки, где ферзь уже был. Самое простое: покрасить. *Поле нарисованно на канве TImage* Как закрасить клетку, на которую ферзь только что переместился - ясно, а как с остальным быть - не очень.
2. Главный вопрос: реализация автоматического режима, точнее "поиска оптимального решения".
Если требуется: Посмотреть вложение ФЕРЗЬ.zip
Добрый день, требуется помощь с курсовой работой.
Задача:
Написать программу обхода шахматной доски ферзем. Пройденными, считать клетки, которые ферзь пересек за один ход. Можно "наступать" на пройденные клетки. Условие победы: обход всего поля + возвращение в начальную позицию.
Требуется два режима: Пользовательский и Автоматический
В автоматическом режиме компьютер ставит ферзя в случайную клетку, а затем выбирает "наиболее оптимальное решение", т.е. обход доски за минимальное количество ходов.
Вопросы:
1. Нужно "отмечать" клетки, где ферзь уже был. Самое простое: покрасить. *Поле нарисованно на канве TImage* Как закрасить клетку, на которую ферзь только что переместился - ясно, а как с остальным быть - не очень.
2. Главный вопрос: реализация автоматического режима, точнее "поиска оптимального решения".
Если требуется: Посмотреть вложение ФЕРЗЬ.zip