Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- #include<vector>
- #include<algorithm>
- #include<cmath>
- using namespace std;
- int main()
- {
- setlocale(LC_ALL, "ru");
- int i = 0;
- int pered;
- int xOne = 0;
- int yOne = 0;
- int xClad;
- int yClad;
- bool ysl2 = true;
- string ysl;
- string storona = "Sever";
- cout << "Введите кординаты клада: \n";
- cin >> xClad;
- cin >> yClad;
- cout << "Введите условия: \n";
- while (cin >> ysl) {
- if (ysl != "Vpered" && ysl != "Nalevo" && ysl != "Napravo" && ysl != "Razvorot" && ysl !="Stop" ) {
- cout << "Неверное условие программа оканчивается.\n";
- if (xOne == xClad && yOne == yClad) {
- cout <<"\t"<<xOne<<"\n\t"<<yOne
- << "Нужно следовать " << i << " условиям чтобы дойти до клада кратчайшим путём\n" << "Ваш дурак на необит острове стоя около клада смотрит на " << storona
- << "\n(возможно вы просто случайно ни чего не ввели тогда будте внимательны и начните программу сначала)\n";
- break; // у меня останавливает всё если я не ошибся
- }
- if (xOne == xClad || yOne == yClad) {
- cout << "\tДо клада дойти не реально(возможно вы просто случайно ни чего не ввели тогда будте внимательны и начните программу сначала)";
- break;
- }
- }
- if (ysl == "Vpered" && ysl2 == true) { // у меня && значит "и" а || "или"
- cout << "Введите на сколько \n"; // пока ysl2 true он буде выполнятьа когда false нет (так я сделаю везде стоп)
- cin >> pered; //так как он должен спрашивать условия даже если уже есть кратчайший путь
- if (storona == "Sever") //я решил ввести ещё одно условие пусть пока онне нашёл путь он считает а когда наёдёт пусть перестанет
- yOne += pered; //а когда найдёт просто перестанет считать а спрашивать продолжит для этого я
- if (storona == "Yg")
- yOne -= pered;
- if (storona == "Zapad")
- xOne += pered;
- if (storona == "Vostok")
- xOne -= pered;
- ++i; //кароч ++i значит i + 1 тупа счётчик
- }
- if (ysl == "Nalevo" && ysl2 == true) {
- if (storona == "Sever")
- storona = "Vostok"; //тут карочь в зависимости от направления взгляда оно меняется на лево
- if (storona == "Yg") //я мог допустить ошибки потому что не помню точно направление сторон света
- storona = "Zapad";
- if (storona == "Zapad")
- storona = "Sever";
- if (storona == "Vostok")
- storona = "Yg";
- }
- if (ysl == "Napravo" && ysl2 == true) {
- if (storona == "Sever")
- storona = "Zapad"; //тут карочь тоже самоет ток с поворотом на права
- if (storona == "Yg")
- storona = "Vostok";
- if (storona == "Zapad")
- storona = "Yg";
- if (storona == "Vostok")
- storona = "Sever";
- }
- if (ysl == "Razvorot" && ysl2 == true) {
- if (storona == "Sever")
- storona = "Yg"; //тут карочь тоже самое но только с разворотом
- if (storona == "Yg")
- storona = "Sever";
- if (storona == "Zapad")
- storona = "Vostok";
- if (storona == "Vostok")
- storona = "Zapad";
- }
- if (ysl == "Stop") {
- if (xOne == xClad && yOne == yClad) {
- cout << "нужно следовать " << i << " условиям чтобы дойти до клада кратчайшим путём\n" << "Ваш дурак на необит острове стоя около клада смотрит на " << storona;
- break;
- }
- if (xOne == xClad || yOne == yClad) {
- cout << "\tДо клада дойти не реально";
- break;
- }
- }
- if (xOne == xClad && yOne == yClad) //это когда он дойдёт до клада
- ysl2 = false; //после того как я присвоил false все условия с ним при true не будут выполнятся
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement