コード例 #1
0
        /// <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());
        }
コード例 #2
0
        public JObject Solve(string name, int alg)
        {
            MazeSolution ms  = m.SolveMaze(name, alg);
            JObject      obj = JObject.Parse(ms.ToJSON());

            return(obj);
        }
コード例 #3
0
        public JObject Solve(string mazeName, int typeOfSearch)
        {
            MazeSolution sol = model.Solve(mazeName, typeOfSearch);
            JObject      obj = JObject.Parse(sol.ToJSON());

            return(obj);
        }
コード例 #4
0
ファイル: SolveCommand.cs プロジェクト: haim6678/Maze-game
        /// <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));
            }
        }