#include #include #include #pragma once using namespace std; class MazeInterface{ public: MazeInterface(){} virtual ~MazeInterface(){} /** * Create and store a random maze with an entry and exit point. (location [0,0,0] and [7,7,7] must have 1's in those spots. The rest of the spots can be randomly 0 or 1. */ virtual void createRandomMaze() = 0; /** * Read from the given file (see maze_sample.txt for format) and store it as a maze * * @param fileName The file name of the file to be imported * * @return true if the file was successfully read/imported, false if an error occurred when parsing/reading the file */ virtual bool importMaze(string fileName) = 0; /** * Traverses the current maze in storage, storing the path taken to solve the maze if the maze was solvable. * * @return true if the maze was solvable, false if unsolvable */ virtual bool traverseMaze() = 0; /** * Returns the path from the most recently traversed maze. The string format should be each position taken * separated by newlines (see format on website). * * @return the path to the most recent maze traversed * if no maze has been solved yet, return an empty string */ virtual string getMazePath() = 0; /** * Get the current maze stored in a single string (see website for format) * * @return a string representation of your maze */ virtual string getMaze() = 0; };