Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.29 KB | None | 0 0
  1. #include <iostream>
  2. #include <Windows.h>
  3. #include <stdlib.h>
  4. #include <stdio.h>
  5. #include <dos.h>
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     int i = 0, j = 0, a = 0, b = 0, r = 0, r1 = 0, l = 0, l1 = 0, u = 0, u1 = 0, d = 0, d1 = 0;
  11.     //Массив
  12.     char array[11][11] = { '*','*','*','*','*','*','*','*','*','*','*',
  13.         '*','*','*','*','*','*','*','*','*','*','*',
  14.         '*','*','*','*','*','*','*','*','*','*','*',
  15.         '*','*','*','*','*','*','*','*','*','*','*',
  16.         '*',' ',' ',' ',' ','*','*','*','*','*','*',
  17.         '*',' ','*','*',' ',' ','*','*','*','*','*',
  18.         ' ',' ',' ','*','*',' ','*','*','*','*','*',
  19.         ' ','*','*','*','*',' ','*','*','*','*','*',
  20.         ' ','*','*','*','*',' ',' ',' ',' ','0','*',
  21.         '1','*',' ',' ',' ',' ',' ',' ','*','*','*',
  22.         '*','*','*','*','*','*','*','*','*','*','*', };
  23.     //Поиск начальных координат робота
  24.     for (int i = 0; i < 11; i++)
  25.     {
  26.         for (int j = 0; j < 11; j++)
  27.         {
  28.             if (array[i][j] == '1')
  29.             {
  30.                 a = i; b = j; r = a; r1 = b + 1; l = a; l1 = b - 1; u = a - 1; u1 = b; d = a + 1; d1 = b;
  31.             };
  32.         };
  33.     };
  34.     //Прохождение лабиринта
  35.     //Первоначальный лабиринт (робот смотрит вверх)
  36.     for (int i = 0; i < 11; i++)
  37.     {
  38.         for (int j = 0; j < 11; j++)
  39.         {
  40.             cout << array[i][j] << " ";
  41.         };
  42.         cout << endl;
  43.     };
  44.     while ((array[a][b + 1] != '0') || (array[a - 1][b] != '0') || (array[a + 1][b] != '0') || (array[a][b - 1] != '0'))
  45.     {
  46.         //Если справа стена и сверху свободно, то вверх
  47.         if (array[r][r1] == '*')
  48.             if (array[u][u1] == ' ')
  49.             {
  50.                 Sleep(1000);
  51.                 system("cls");
  52.                 array[u][u1] = array[u + 1][u1];
  53.                 array[u + 1][u1] = ' ';
  54.                 if (u == r)
  55.                 {
  56.                     b++;
  57.                     r = a + 1; r1 = b; l = a - 1; l1 = b; u = a; u1 = b - 1; d = a; d1 = b + 1;
  58.                 };
  59.                 if (u == l)
  60.                 {
  61.                     b--;
  62.                     r = a - 1; r1 = b; l = a + 1; l1 = b; d = b + 1; d1 = a; u = a; u1 = b - 1;
  63.                 };
  64.                 if (u == d)
  65.                 {
  66.                     a++;
  67.                     r = a; r1 = b - 1; l = a; l1 = b - 1; d = a - 1; d1 = b; u = a + 1; u1 = b;
  68.                 };
  69.                 if (u == a - 1)
  70.                 {
  71.                     a--;
  72.                     u = a - 1; r = a; l = a; d = a + 1;
  73.                     r1 = b + 1; l1 = b - 1; u1 = b; d1 = b;
  74.                 };
  75.                 for (int i = 0; i < 11; i++)
  76.                 {
  77.                     for (int j = 0; j < 11; j++)
  78.                     {
  79.                         cout << array[i][j] << " ";
  80.                     };
  81.                     cout << endl;
  82.                 };
  83.  
  84.             };
  85.         if (array[r][r1] == ' ') //Если справа свободно, то поворот
  86.         {
  87.             Sleep(500);
  88.             system("cls");
  89.             array[r][r1] = array[r][r1 - 1];
  90.             array[r][r1 - 1] = ' ';
  91.             if (r == d)
  92.             {
  93.                 a++;
  94.                 r = a + 1; r1 = b; l = a - 1; l1 = b; u = a; u1 = b - 1; d = a; d1 = b + 1;
  95.             };
  96.             if (r == l)
  97.             {
  98.                 b--;
  99.                 r = a; r1 = b - 1; l = a; l1 = b - 1; d = a - 1; d1 = b; u = a + 1; u1 = b;
  100.             };
  101.             if (r == u)
  102.             {
  103.                 a--;
  104.                 r = a - 1; r1 = b; l = a + 1; l1 = b; d = b + 1; d1 = a; u = a; u1 = b - 1;
  105.             };
  106.             if (r == b + 1)
  107.             {
  108.                 b++;
  109.                 r1 = b + 1; l1 = b - 1; u1 = b; d1 = b;
  110.                 u = a - 1; r = a; l = a; d = a + 1;
  111.             };
  112.             for (int i = 0; i < 11; i++)
  113.             {
  114.                 for (int j = 0; j < 11; j++)
  115.                 {
  116.                     cout << array[i][j] << " ";
  117.                 };
  118.                 cout << endl;
  119.             };
  120.             r = d; r1 = d1;
  121.             u = r; u1 = r1;
  122.             l = u; l1 = u1;
  123.             d = l; d1 = l1;
  124.         };
  125.     };
  126.     system("pause");
  127.     return 0;
  128. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement