x2311

Untitled

Nov 14th, 2021
826
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. //тут я проверяю 8 ходов куда может пригруть конь
  5. bool knightMove(int x1, int y1, int x2, int y2){
  6.     if(y1==y2-1 && x1 == x2-2) return true;
  7.     if(y1==y2-2 && x1 == x2-1) return true;
  8.     if(y1==y2+1 && x1 == x2+2) return true;
  9.     if(y1==y2+2 && x1 == x2+1) return true;
  10.     if(y1==y2-1 && x1 == x2+2) return true;
  11.     if(y1==y2-2 && x1 == x2+1) return true;
  12.     if(y1==y2+1 && x1 == x2-2) return true;
  13.     if(y1==y2+2 && x1 == x2-1) return true;
  14.     //если не прошло ни 1 то вывожу что не может попасть
  15.     return false;
  16. }
  17.  
  18. int main(){
  19.     //сначало узнаю где находится конь
  20.     int x1, y1, x2, y2;
  21.     cout << "coordinates where the horse is (Y): ";
  22.     cin >> y1;
  23.     cout << "coordinates where the horse is (X): ";
  24.     //узнаю поле куда пользователь хочет передвинуть коня
  25.     cin >> x1;
  26.     cout << "checked field(Y): ";
  27.     cin >> y2;
  28.     cout << "checked field(X): ";
  29.     cin >> x2;
  30.     //Это проверка на вод координат так как поле не бесконечное, а начинается с 1 и до 8
  31.     if (0>=x1>8 && 0>=x2>8 && 0>=y1>8 && 0>=y2>8 ){
  32.         cout << "(false).wrong coordinates";
  33.     }
  34.     //иначе я вывожу, может ли конь перейти на указанною платформу
  35.     else{
  36.         cout << "\nRez: " << (knightMove(x1, y1, x2, y2) == true ? "true": "false");
  37.     }
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment