static void Main(string[] args) { MazeSolver mazeSolver = new MazeSolver(); string input = ""; while (input != "exit") { Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Enter file path or type 'exit': "); input = Console.ReadLine(); if (input != "exit" && File.Exists(input)) { Maze maze = mazeSolver.SolveMaze(input); if (maze == null) { Console.WriteLine("This maze is unsolvable"); } else { mazeSolver.RenderMaze(maze); } } } }
private void SetImage() { MazeSolver mazeSolver = new MazeSolver(maze); MazeImageConstructor imageConstructor = new MazeImageConstructor(maze, mazeSolver.Route, 3); MazePhoto.Source = imageConstructor.ImageSource; }
static void Main(string[] args) { List <List <int> > data = new FileReader().Read("RPAMaze.txt"); ILogger logger = new ConsoleLogger(); foreach (var list in data) { string msg = string.Empty; foreach (var item in list) { msg += $"{item.ToString()} "; } logger.Log(msg); } logger.Log(Environment.NewLine); Solver mazeSolver = new MazeSolver(new List <ILogger> { logger, new FileLogger() }, data ); bool result = mazeSolver.Solve(); logger.Log($"Maze is solveble: {result.ToString()}"); logger.Log("Press any key to exit the program..."); Console.ReadKey(); }
public MazeSolverDemo() { InitializeComponent(); maze = MazeSolver.Instance; objEllipse = new RectangleF(eX, eY, 15, 15); }
static void Main(string[] args) { using (MazeSolver maze = new MazeSolver("maze.csa-challenge.com", 80)) { maze.Solve(); } }
public void SolveMazeWithProvidedData() { MazeSolver.MazeSolver mazeSolver = new MazeSolver.MazeSolver(new List <ILogger> { new FakeLogger() }, data2); bool result = mazeSolver.Solve(); Assert.True(result); }
public void SolveMazeWithNewPoint() { MazeSolver.MazeSolver mazeSolver = new MazeSolver.MazeSolver(new List <ILogger> { new FakeLogger() }, data2); mazeSolver.StartPt = new Point(6, 1); bool result = mazeSolver.Solve(); Assert.True(result); }
public static void Main(string[] args) { //read in the file from args MazeSolver ms = new MazeSolver(); Console.WriteLine("Please type in the location of a file that has the adjacency list of an undirected graph: "); string filePath = Console.ReadLine(); ms.ReadMazeFile(filePath); }
static void Main(string[] args) { MazeSolver maze = new MazeSolver(); maze.InitializeMaze(); maze.CreateMaze(); maze.DisplayMaze(); Console.WriteLine(); Console.WriteLine(maze.SolveMaze()); Console.WriteLine(); maze.DisplayMaze(); Console.ReadLine(); }
public IHttpActionResult Post([FromBody] string map) { try { var lines = (map ?? string.Empty).Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); if (lines.Length < 1) { return(BadRequest("Invalid maze")); } var maze = new Solver.Maze(lines); var solver = new Solver.MazeSolver(); var solvedMaze = solver.Walk(maze); return(solvedMaze == null ? Ok(new { steps = solver.Steps, solution = "No solution found" }) : Ok(new { steps = solver.Steps, solution = solvedMaze.ToString() })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public void ChangeMazeStartPosition() { MazeSolver.MazeSolver mazeRun = new MazeSolver.MazeSolver(new List <ILogger> { new FakeLogger() }, data1) { StartPt = new Point(1, 1) }; Assert.Equal(new Point(1, 1), mazeRun.StartPt); mazeRun.StartPt = new Point(1, 2); Assert.Equal(new Point(1, 2), mazeRun.StartPt); mazeRun.StartPt = new Point(2, 1); Assert.Equal(new Point(2, 1), mazeRun.StartPt); mazeRun.StartPt = new Point(2, 2); Assert.Equal(new Point(2, 2), mazeRun.StartPt); }