Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //тут я проверяю 8 ходов куда может пригруть конь
- bool knightMove(int x1, int y1, int x2, int y2){
- if(y1==y2-1 && x1 == x2-2) return true;
- if(y1==y2-2 && x1 == x2-1) return true;
- if(y1==y2+1 && x1 == x2+2) return true;
- if(y1==y2+2 && x1 == x2+1) return true;
- if(y1==y2-1 && x1 == x2+2) return true;
- if(y1==y2-2 && x1 == x2+1) return true;
- if(y1==y2+1 && x1 == x2-2) return true;
- if(y1==y2+2 && x1 == x2-1) return true;
- //если не прошло ни 1 то вывожу что не может попасть
- return false;
- }
- int main(){
- //сначало узнаю где находится конь
- int x1, y1, x2, y2;
- cout << "coordinates where the horse is (Y): ";
- cin >> y1;
- cout << "coordinates where the horse is (X): ";
- //узнаю поле куда пользователь хочет передвинуть коня
- cin >> x1;
- cout << "checked field(Y): ";
- cin >> y2;
- cout << "checked field(X): ";
- cin >> x2;
- //Это проверка на вод координат так как поле не бесконечное, а начинается с 1 и до 8
- if (0>=x1>8 && 0>=x2>8 && 0>=y1>8 && 0>=y2>8 ){
- cout << "(false).wrong coordinates";
- }
- //иначе я вывожу, может ли конь перейти на указанною платформу
- else{
- cout << "\nRez: " << (knightMove(x1, y1, x2, y2) == true ? "true": "false");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment