Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- #include <cstdlib>
- #include <ctime>
- //variables
- const int SIZE = 10;
- enum Values {space,wall, ext, X};
- Values maze[SIZE][SIZE];
- void createMaze();
- void displayMaze();
- bool robotMove();
- int numbermoves;
- int Cnum = 0;
- int Rnum = 0;
- // main function
- int main () {
- createMaze(); // give parameters
- displayMaze();
- robotMove();
- }
- // functions
- void createMaze(int &Rnum,int &Cnum){
- for (int i= 0; i < 10; i++){
- for(int j = 0; j < 10; j++)
- maze [i][j] = wall;
- }
- for (int g = 0; g<10; g++){
- maze[0][g] = space;
- }
- for (int h = 0; h<10; h++){
- maze[h][h] = space;
- }
- for (int z = 0; z< 10; z++){
- maze[2][z] = space;
- }
- for (int r = 0; r<10; r++){
- maze[6][r] = space;
- }
- maze [4][0] = ext;
- maze [7][6] = ext;
- Rnum = 0;
- Cnum = 0;
- maze[Rnum][Cnum] = X; // starting position of X
- }
- void displayMaze(int Rnum, int Cnum){
- for (int i= 0; i < 10; i++){
- for(int j = 0; j < 10; j++){
- if (maze[i][j] == wall)
- cout << "+";
- if (maze[i][j] == space)
- cout << " ";
- if (maze[i][j] == ext)
- cout << "E";
- if (maze[i][j] == X)
- cout << "X";
- }
- cout << endl;
- }
- }
- bool robotMove(int &Rnum, int &Cnum){
- while (maze[Rnum][Cnum] != ext) {
- unsigned seed;
- seed = time(0);
- srand(seed);
- int random = rand() % 4;
- if ((random = 0) && (maze[Rnum -1][Cnum] = space))
- {//up
- maze[Rnum -1][Cnum] = X;
- [Rnum][Cnum] = space;
- }
- if ((random = 1) && (maze[Rnum +1][Cnum] = space))
- {// down
- maze[Rnum + 1][Cnum] = X;
- maze[Rnum][Cnum] = space;
- }
- if ((random = 2) && (maze[Rnum][Cnum - 1] = space))
- {// left
- maze[Rnum][Cnum -1] = X;
- maze[Rnum][Cnum] = space;
- }
- if ((random = 3) && (maze[Rnum][Cnum + 1] = space))
- {// right
- maze[Rnum][Cnum + 1] = X;
- maze[Rnum][Cnum] = space;
- }
- ++ numbermoves;
- }
- }
Add Comment
Please, Sign In to add comment