Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <Windows.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <dos.h>
- using namespace std;
- int main()
- {
- 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;
- //Массив
- char array[11][11] = { '*','*','*','*','*','*','*','*','*','*','*',
- '*','*','*','*','*','*','*','*','*','*','*',
- '*','*','*','*','*','*','*','*','*','*','*',
- '*','*','*','*','*','*','*','*','*','*','*',
- '*',' ',' ',' ',' ','*','*','*','*','*','*',
- '*',' ','*','*',' ',' ','*','*','*','*','*',
- ' ',' ',' ','*','*',' ','*','*','*','*','*',
- ' ','*','*','*','*',' ','*','*','*','*','*',
- ' ','*','*','*','*',' ',' ',' ',' ','0','*',
- '1','*',' ',' ',' ',' ',' ',' ','*','*','*',
- '*','*','*','*','*','*','*','*','*','*','*', };
- //Поиск начальных координат робота
- for (int i = 0; i < 11; i++)
- {
- for (int j = 0; j < 11; j++)
- {
- if (array[i][j] == '1')
- {
- a = i; b = j; r = a; r1 = b + 1; l = a; l1 = b - 1; u = a - 1; u1 = b; d = a + 1; d1 = b;
- };
- };
- };
- //Прохождение лабиринта
- //Первоначальный лабиринт (робот смотрит вверх)
- for (int i = 0; i < 11; i++)
- {
- for (int j = 0; j < 11; j++)
- {
- cout << array[i][j] << " ";
- };
- cout << endl;
- };
- while ((array[a][b + 1] != '0') || (array[a - 1][b] != '0') || (array[a + 1][b] != '0') || (array[a][b - 1] != '0'))
- {
- //Если справа стена и сверху свободно, то вверх
- if (array[r][r1] == '*')
- if (array[u][u1] == ' ')
- {
- Sleep(1000);
- system("cls");
- array[u][u1] = array[u + 1][u1];
- array[u + 1][u1] = ' ';
- if (u == r)
- {
- b++;
- r = a + 1; r1 = b; l = a - 1; l1 = b; u = a; u1 = b - 1; d = a; d1 = b + 1;
- };
- if (u == l)
- {
- b--;
- r = a - 1; r1 = b; l = a + 1; l1 = b; d = b + 1; d1 = a; u = a; u1 = b - 1;
- };
- if (u == d)
- {
- a++;
- r = a; r1 = b - 1; l = a; l1 = b - 1; d = a - 1; d1 = b; u = a + 1; u1 = b;
- };
- if (u == a - 1)
- {
- a--;
- u = a - 1; r = a; l = a; d = a + 1;
- r1 = b + 1; l1 = b - 1; u1 = b; d1 = b;
- };
- for (int i = 0; i < 11; i++)
- {
- for (int j = 0; j < 11; j++)
- {
- cout << array[i][j] << " ";
- };
- cout << endl;
- };
- };
- if (array[r][r1] == ' ') //Если справа свободно, то поворот
- {
- Sleep(500);
- system("cls");
- array[r][r1] = array[r][r1 - 1];
- array[r][r1 - 1] = ' ';
- if (r == d)
- {
- a++;
- r = a + 1; r1 = b; l = a - 1; l1 = b; u = a; u1 = b - 1; d = a; d1 = b + 1;
- };
- if (r == l)
- {
- b--;
- r = a; r1 = b - 1; l = a; l1 = b - 1; d = a - 1; d1 = b; u = a + 1; u1 = b;
- };
- if (r == u)
- {
- a--;
- r = a - 1; r1 = b; l = a + 1; l1 = b; d = b + 1; d1 = a; u = a; u1 = b - 1;
- };
- if (r == b + 1)
- {
- b++;
- r1 = b + 1; l1 = b - 1; u1 = b; d1 = b;
- u = a - 1; r = a; l = a; d = a + 1;
- };
- for (int i = 0; i < 11; i++)
- {
- for (int j = 0; j < 11; j++)
- {
- cout << array[i][j] << " ";
- };
- cout << endl;
- };
- r = d; r1 = d1;
- u = r; u1 = r1;
- l = u; l1 = u1;
- d = l; d1 = l1;
- };
- };
- system("pause");
- return 0;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement