Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.48 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3. #include<vector>
  4. #include<algorithm>
  5. #include<cmath>
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.     setlocale(LC_ALL, "ru");
  12.     int i = 0;
  13.     int pered;
  14.     int xOne = 0;
  15.     int yOne = 0;
  16.     int xClad;
  17.     int yClad;
  18.     bool ysl2 = true;
  19.     string ysl;
  20.     string storona = "Sever";
  21.     cout << "Введите кординаты клада: \n";
  22.     cin >> xClad;
  23.     cin >> yClad;
  24.     cout << "Введите условия: \n";
  25.     while (cin >> ysl) {
  26.         if (ysl != "Vpered" && ysl != "Nalevo" && ysl != "Napravo" && ysl != "Razvorot" && ysl !="Stop" ) {
  27.             cout << "Неверное условие программа оканчивается.\n";
  28.             if (xOne == xClad && yOne == yClad) {
  29.                 cout <<"\t"<<xOne<<"\n\t"<<yOne
  30.                     << "Нужно следовать " << i << " условиям чтобы дойти до клада кратчайшим путём\n" << "Ваш дурак на необит острове стоя около клада смотрит на " << storona
  31.                     << "\n(возможно вы просто случайно ни чего не ввели тогда будте внимательны и начните программу сначала)\n";
  32.                 break; // у меня останавливает всё если я не ошибся
  33.             }
  34.             if (xOne == xClad || yOne == yClad) {
  35.                 cout << "\tДо клада дойти не реально(возможно вы просто случайно ни чего не ввели тогда будте внимательны и начните программу сначала)";
  36.                 break;
  37.             }
  38.         }
  39.         if (ysl == "Vpered" && ysl2 == true) {  // у меня && значит "и"  а ||   "или"
  40.             cout << "Введите на сколько \n";    // пока ysl2 true он буде выполнятьа когда false нет (так я сделаю везде стоп)
  41.             cin >> pered;                       //так как он должен спрашивать условия даже если уже есть кратчайший путь
  42.             if (storona == "Sever")             //я решил ввести ещё одно условие пусть пока онне нашёл путь он считает а когда наёдёт пусть перестанет
  43.                 yOne += pered;                  //а когда найдёт просто перестанет считать а спрашивать продолжит для этого я
  44.             if (storona == "Yg")
  45.                 yOne -= pered;
  46.             if (storona == "Zapad")
  47.                 xOne += pered;
  48.             if (storona == "Vostok")
  49.                 xOne -= pered;
  50.             ++i; //кароч ++i значит i + 1 тупа счётчик
  51.         }
  52.         if (ysl == "Nalevo" && ysl2 == true) {
  53.             if (storona == "Sever")
  54.                 storona = "Vostok";     //тут карочь в зависимости от направления взгляда оно меняется на лево  
  55.             if (storona == "Yg")     //я мог допустить ошибки потому что не помню точно направление сторон света
  56.                 storona = "Zapad";
  57.             if (storona == "Zapad")
  58.                 storona = "Sever";
  59.             if (storona == "Vostok")
  60.                 storona = "Yg";
  61.         }
  62.         if (ysl == "Napravo" && ysl2 == true) {
  63.             if (storona == "Sever")
  64.                 storona = "Zapad";      //тут карочь тоже самоет ток с поворотом на права
  65.             if (storona == "Yg")
  66.                 storona = "Vostok";
  67.             if (storona == "Zapad")
  68.                 storona = "Yg";
  69.             if (storona == "Vostok")
  70.                 storona = "Sever";
  71.         }
  72.         if (ysl == "Razvorot" && ysl2 == true) {
  73.             if (storona == "Sever")
  74.                 storona = "Yg";     //тут карочь тоже самое но только с разворотом
  75.             if (storona == "Yg")
  76.                 storona = "Sever";
  77.             if (storona == "Zapad")
  78.                 storona = "Vostok";
  79.             if (storona == "Vostok")
  80.                 storona = "Zapad";
  81.         }
  82.         if (ysl == "Stop") {
  83.             if (xOne == xClad && yOne == yClad) {
  84.                 cout << "нужно следовать " << i << " условиям чтобы дойти до клада кратчайшим путём\n" << "Ваш дурак на необит острове стоя около клада смотрит на " << storona;
  85.                 break;
  86.             }
  87.             if (xOne == xClad || yOne == yClad) {
  88.                 cout << "\tДо клада дойти не реально";
  89.                 break;
  90.             }
  91.         }
  92.         if (xOne == xClad && yOne == yClad) //это когда он дойдёт до клада
  93.             ysl2 = false; //после того как я присвоил false все условия с ним при true не будут выполнятся
  94.        
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement