import net.curtlewis.maze.algorithm.BinaryTree;
import net.curtlewis.maze.algorithm.Sidewinder;
import net.curtlewis.maze.distance.Distances;
import net.curtlewis.maze.grid.Cell;
import net.curtlewis.maze.grid.DistanceGrid;
import net.curtlewis.maze.grid.Grid;

public class MazeMain {

    public static void main(String[] args) throws Exception {
        Cell cell = new Cell(1, 2);

        // Grid grid = new Grid(10, 10);
        // BinaryTree maze = new BinaryTree(grid);
        DistanceGrid grid = new DistanceGrid(10, 10);
        Sidewinder maze = new Sidewinder(grid);
        Cell root = grid.getCellAt(0, 4);
        grid.setDistances(root.calculateDistances());
        grid.hideDistanceValues();
        System.out.println(maze.toString());
        grid.showDistanceValues();
        System.out.println("=========================================\n");
        System.out.println(grid);
    }

}
