Thursday, June 29, 2017

A Dev C++ program for navigating a maze



// This program is designed for Dev C++

// Please change srand() to randomize() and rand() to random() on Turbo C++ 

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

#include <time.h>

int main()

{ srand(time(NULL));

  int x, y, move;
  char maze[23][74] = {

   { "=========================================================================" },
   { "|   |               |               |           |                   |   |" },
   { "|   |   ---------   |   -----   ---------   -----   -----   -----   |   |" },
   { "|               |       |   |           |           |   |   |       |   |" },
   { "---------   |   ---------   ---------   -----   |   |   |   ---------   |" },
   { "|       |   |               |           |   |   |   |   |           |   |" },
   { "|   |   -------------   |   |   ---------   -----   |   ---------   |   |" },
   { "|   |               |   |   |       |           |           |       |   |" },
   { "|   -------------   -----   -----   |   -----   ---------   |   -----   |" },
   { "|           |       |   |       |   |       |           |   |           |" },
   { "|   -----   -----   |   -----   |   ---------   |   |   |   -------------" },
   { "|       |       |   |   |       |       |       |   |   |       |       |" },
   { "-------------   |   |   |   ---------   |   -----   |   -----   -----   |" },
   { "|           |   |           |       |   |       |   |       |           |" },
   { "|   -----   |   ---------   -----   |   -----   -----   -------------   |" },
   { "|   |       |           |           |       |   |   |               |   |" },
   { "|   |   ---------   |   -----   ---------   |   |   -------------   |   |" },
   { "|   |           |   |   |   |   |           |               |   |       |" },
   { "|   ---------   |   |   |   -----   ---------   ---------   |   ---------" },
   { "|   |       |   |   |           |           |   |       |               |" },
   { "|   |   -----   -----   -----   ---------   -----   |   ---------   |   |" },
   { "|   |                   |           |               |               |   |" },
   { "=   =====================================================================" }
                      };


  do { x = rand() % 23;
       y = rand() % 74;
     } while(maze[x][y] != ' ');
  maze[x][y] = 'X';
  
  while(x < 23)
  { system("CLS");

    cout << "\tUse 'I' for UP, 'J' for LEFT, 'K' for DOWN and 'L' for RIGHT\n\n"; 
    for(int i=0; i<23; i++)
    { if(i != 22)
        cout << "   " << maze[i] << "\n";
      else
        cout << "   " << maze[i];
    }
    move = toupper(getch());

    if(move == 73 && (maze[x-1][y] == ' '))
    { maze[x][y] = ' ';
      maze[--x][y] = 'X';
    }
    else if(move == 74 && (maze[x][y-1] == ' '))
    { maze[x][y] = ' ';
      maze[x][--y] = 'X';
    }
    else if(move == 75 && (maze[x+1][y] == ' '))
    { maze[x][y] = ' ';
      maze[++x][y] = 'X';
    }
    else if(move == 76 && (maze[x][y+1] == ' '))
    { maze[x][y] = ' ';
      maze[x][++y] = 'X';
    }

    if(x >= 22 && (y == 1 || y == 2 || y == 3))
      break;
  }
  cout << "\n\n\t\t\tYou win!! Press 'E' or 'e' to exit";

  do { move = toupper(getch());
     } while(move != 69);

  return 0;
}

No comments:

Post a Comment