![]() |
|
|
#1
|
|||
|
|||
|
ВЕТВЛЕНИЕ! Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число– номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c,d, каждое из которых не превосходит 8.
а) на поле (a, b) расположена ладья. Определить, угрожает ли она полю (с, d); б) на поле (a, b) расположен слон. Определить, угрожает ли он полю (c, d); в) на поле (a, b) расположен король. Определить, может ли он одним ходом попасть на поле (с, d); г) на поле (a, b) расположен ферзь. Определить, угрожает ли он полю (c, d) д) на поле (a, b) расположена белая пешка. Определить, может ли она одним ходом попасть на поле (с, d): Осталось сделать для Короля и Пешки. Помогите плиз! |
|
#2
|
||||
|
||||
|
В чем проблема то? Пешка ходит на одну клетку вперед (на первом ходу через одну), король на одну клетку в любую сторону.
|
|
#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 Последний раз редактировалось 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!' ![]() |