|
#1
|
|||
|
|||
Шахматы. Delphi
ВЕТВЛЕНИЕ! Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число– номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c,d, каждое из которых не превосходит 8.
а) на поле (a, b) расположена ладья. Определить, угрожает ли она полю (с, d); б) на поле (a, b) расположен слон. Определить, угрожает ли он полю (c, d); в) на поле (a, b) расположен король. Определить, может ли он одним ходом попасть на поле (с, d); г) на поле (a, b) расположен ферзь. Определить, угрожает ли он полю (c, d) д) на поле (a, b) расположена белая пешка. Определить, может ли она одним ходом попасть на поле (с, d): Осталось сделать для Короля и Пешки. Помогите плиз! |
#2
|
||||
|
||||
В чем проблема то? Пешка ходит на одну клетку вперед (на первом ходу через одну), король на одну клетку в любую сторону.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
Вот так Король угрожает if (abs(a-c)<2) and ((abs(b-d))<2) then Edit25.Text:='Король угрожает полю cd!';
А как прописать, когда не угрожает? |
#4
|
||||
|
||||
не забудьте про взятие на проходе
Я за здоровый экстрим! Спасибо за "спасибо") |
#5
|
|||
|
|||
Код:
if .. then 'угр' else 'нет'; //или if .. then 'угр'; if not(..) then 'нет'; почему-то сказано что пешка именно белая, ещё вместо кучи edit-ов для вывода можно использовать один memo >woweook< Последний раз редактировалось Pyro, 28.06.2013 в 17:48. |
#6
|
||||
|
||||
Код:
if (abs(a-c)<2) and ((abs(b-d))<2) then Edit25.Text:='Король угрожает полю cd!' else Edit25.Text:='Король НЕ угрожает полю cd!' — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |