• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Шахматная задачка на Visual C++

  • Автор темы funktron
  • Дата начала
F

funktron

Если кому не трудно, решите мне, студенту, задачку пожалуйста.

На поле шахматной доски расставлены фигуры. Указать такие возможные ходы выбранной фигуры, при которых она не попадает под удар противника. Расстановка фигур задается пользователем.

Готов заплатить, ну скажем, рублей 500.
 
E

ensane

Алгоритм простейший.
1. Заводим матрицу 8x8
2. Для каждой фигуры противника на этой матрице помечаем клетки, в которые она может "ударить"
3. Выбираем непомеченные клетки, в которую наша фигура может пойти.
А... пардон. Алгоритм несколько усложняется. Надо не забыть проверить, чтобы своим ходом фигура не открыла короля под удар.
В общем, много нудного перебора.
 
D

DarkKnight

А... пардон. Алгоритм несколько усложняется. Надо не забыть проверить, чтобы своим ходом фигура не открыла короля под удар.
В общем, много нудного перебора.
Да не... Этого всего конечно можно исбежать, если нудно и кропотливо классы описать....
Но объем кода тогда будет солидным....
 
E

ensane

Без перебора все равно не обойтись. Фактически, для таких фигур как слон, ладья и ферзь надо бежать по "линиям атаки" до тех пор, пока не упремся в конец поля или в фигуру. Для коня, пешки и короля - просто проверить потенциальные зоны атаки. Можно сократить количество перебираемых клеток, вводя дополнительные проверки, например проверять не все фигуры, а только те, которые могут ходить в зону, куда может ходить упомянутая в условии фигура. Звучит запутано; и именно запутано будет выглядеть алгоритм. Шахматные алгоритмы вообще никогда не отличались простотой и наглядностью.
 
F

funktron

ну что, кто нибудь сможет помочь? я вот нашёл шахматы на QT
может из них кто-нибудь сможет выдернуть лишнее и дописать своего...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!