public class Maze {

// these are not private because the test is mostly about array handling, so the arrays need to
  // be visible, you can make them private if you so wish
  char[][] maze;
  final int height;
  final int width;

  Maze() {
    char[][] maze = {{' '}};
    height = 1;
    width = 1;
  }

  Maze(char[][] maze) {
    this.maze = maze;
    height = maze.length;
    width = maze[0].length;
  }

  public void print() {
    System.out.print("  ");
    for (int j = 0; j < width; j++) {
      System.out.print(j);
    }
    System.out.println();
    for (int i = 0; i < height; i++) {
      System.out.print(i + " ");
      for (int j = 0; j < width; j++) {
        System.out.print(maze[i][j]);
      }
      System.out.println();
    }
  }

  public boolean isInMaze(Coords coords) {
    // TODO question 1a - 3 marks, replace the stub
    return true;
  }


  public Coords findMarker(char ch) {
    // TODO question 1b - 3 marks, replace the stub
    //if the marker is not in the maze then the returned coordinates are -1, -1
    return new Coords(-1, -1);
  }

  public Coords next(Coords coords, Dir d) {
    // TODO question 1c - 3 marks, replace the stub
    //coords contains the current (legal) position in the maze
    //post: may be out of range
    return new Coords(-1, -1);
  }

 public boolean isPossible(Coords coords) {
  // TODO question 1d - 3 marks, replace the stub return true
  // positions are possible if they are the start, the finish, or are empty
   return true;
  }


}
