Задача. Про шахи...

in Ukraine on Steem23 days ago

image.png

Трапляються учні що не знають як грати в шахи, чи морський бій... про клах, гру Баше я взагалі мовчу. Звісно кожна епоха дає щось своє - була епоха "примітивних" ігор, і навіть паперових безкомп'ютерних... в які ми грали на перервах чина уроках...

Отже про шахи... Задача ніби проста

Є координати фігури(тури, слона, королеви, короля, коня...) і слід дізнатися чи знаходиться "під боєм" певна клітина (x,y)
image.png

Тура як відомо ходить по горизонталі або по вертикалі на будьяку відстань
Слід написати функцію що перевірить чи б'є тура в координатах xf, yf - Якусь іншу фігуру з координатами x,y
Для простоти можна вважати що клітинка шахівниці а8 має координати 0,0
bool tura(int xf, int yf, int x, int y);

Далі буде слон, він ходить по діагоналі на будьяку відстань
bool slon(int xf, int yf, int x, int y);
image.png

Пішака розглянемо білого - так як тут є напрямок.
Як відомо пішак ходить лиш прямо, а б'є навскоси.
Унікальний бій пішака що стрибнув одразу на дві клітинки тут не розглядаємо, "взяття на проході" - ніби так цей хід зветься
bool pishak(int xf, int yf, int x, int y);

image.png

Король ходить (і б'є) на всі вісім сторін)) але на 1 клітнку лиш
bool king(int xf, int yf, int x, int y);

image.png

Аналогічно королю ходить королева, але набагато далі ніж одна клітинка.
bool qeen(int xf, int yf, int x, int y);
тут можна просто об'єднати-комбінувати ходи тури та слона😁

image.png

Ну і лишився кінь, який ходить літерою Г😊

image.png

bool knight(int xf, int yf, int x, int y);

Sort:  

High-Yield Curation by @steem-seven

Your content has been supported!


Maximize your passive income!
Delegate your SP to us and earn high rewards

Click here to see our Tiered Reward System

Vote Proposal 100Vote Witness @seven.witMeet Speak on Steem

We are the hope!

S7VEN Banner