public void solveDFSMaze(){ //Use DFS algorithm to try and find the exit now!
   
		Scanner input = new Scanner(System.in);
   		MazeCell current = getStartCell(),neighbor;
    	int number;
		ResetVisits();
		current.visit();

		if(theStack.isEmpty() == false){ 
			System.out.println("Stack must be emptied before running algorithm");
			do{
				theStack.pop();
			}while(theStack.isEmpty() == false);
		}

		theStack.push(current);
		while(theStack.isEmpty() == false){
			current = theStack.peek(); //Des to pio panw sti stoiba auto einai to current
			System.out.print("Current cell is ");
			current.printCoordinates();
			printMyLabyrinth(current);
			if(current == getEndCell()){
				System.out.println("DFS has reached the End Cell exiting! :D");
				return;
			}

			neighbor = current.selectRandomUnvisitedNeighbor(current.getValidNeighbors());
			if(neighbor == null){
				theStack.pop(); //Backtracking
				System.out.println("Backtracking...");
			}
			else{
				neighbor.visit();
				theStack.push(neighbor);
			}
		}

    }