/// <summary> /// Executes the specified arguments to start. /// </summary> /// <param name="args">The arguments.</param> /// <param name="ch">The ch.</param> /// <param name="client">The client.</param> /// <returns>string of the solve maze</returns> public override string Execute(string[] args, ClientOfServer client = null) { string name = args[0]; int typeSolve = int.Parse(args[1]); MazeSolution s = model.Solve(name, typeSolve); client.WriteToClient(s.ToJSON()); client.DisconnectFromServer(); return(s.ToJSON()); }
public JObject Solve(string name, int alg) { MazeSolution ms = m.SolveMaze(name, alg); JObject obj = JObject.Parse(ms.ToJSON()); return(obj); }
public JObject Solve(string mazeName, int typeOfSearch) { MazeSolution sol = model.Solve(mazeName, typeOfSearch); JObject obj = JObject.Parse(sol.ToJSON()); return(obj); }
/// <summary> /// Executes the command. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The arguments.</param> /// <returns></returns> public override CommandResult Execute(IClient sender, string[] args) { if (args.Length != 2) { return(new CommandResult(false, Command.Solve, "Usage: solve <name> <algorithm>", true)); } string name = args[0]; byte algorithm; if (!byte.TryParse(args[1], out algorithm)) { return(new CommandResult(false, Command.Solve, "Bad <algorithm> field. Expected: 0 - for bfs, 1 - for dfs", true)); } SolveRequest request = new SolveRequest(name, algorithm); try { MazeSolution sol = _model.SolveMaze(request); //serialize and send the object bool keepCom = _model.IsInGame(sender); return(new CommandResult(true, Command.Solve, sol.ToJSON(), keepCom)); } catch (Exception e) { return(new CommandResult(false, Command.Solve, e.Message, true)); } }