#ifndef Maze_h
#define Maze_h

//maze class .h file

#include <iostream.h>

enum heading{west, north, east, south};

class Maze
{
//friend declaration so the i/o stream has access to the privates
friend ostream& operator << (ostream&, const Maze&);
friend istream& operator >> (istream&, Maze&); 

public:
Maze();
~Maze();

void cls();
bool findstart();
bool solve();
void output();

//accessors for x and y
//int col();
//int row();

//heading changers that call the private go() movement member function
void changedir(int i);
void goleft();
void gostraight();
void goright(); 

private:
//private go() to mutate the x and y
void go();

//data memebers: store the current direction (w/n/e/s) and the x/y col/row
//position
heading direction;
int col, row;
char map[13][13];

};

#endif