示例#1
0
        public string SolveBoard(string path, int rows, int cols, int width, int height, int w_off, int h_off)
        {
            path = Uri.UnescapeDataString(path);
            Console.WriteLine(path);
            Bitmap bmp = new Bitmap(path);
            Board  b   = PadImage.BoardFromBitmap(rows, cols, height, width, h_off, w_off, bmp);

            return(JsonConvert.SerializeObject(DfsSolver.GetBestPath(b)));
        }
示例#2
0
        public string SolveBoard2(string path, int rows, int cols, int width, int height, int w_off, int h_off)
        {
            path = Uri.UnescapeDataString(path);
            Console.WriteLine(path);
            Bitmap bmp = new Bitmap(path);
            Board  b   = PadImage.BoardFromBitmap(rows, cols, height, width, h_off, w_off, bmp);

            return(JsonConvert.SerializeObject(BeamDfs.GetBestPath(b, BoardScorer.Options.Horus)));
            //return JsonConvert.SerializeObject(BeamDfs.GetBestPath(b, Teams.LuBu));
        }
示例#3
0
        public string TestSAAS(string path, int rows, int cols, int width, int height, int w_off, int h_off)
        {
            path = Uri.UnescapeDataString(path);
            Console.WriteLine(path);
            Bitmap bmp = new Bitmap(path);
            Board  b   = PadImage.BoardFromBitmap(rows, cols, height, width, h_off, w_off, bmp);
            Board  opt = SAASSolver.GetOptimalBoards(b, SAASSolver.Options.Default, BoardScorer.Options.Horus).First();
            var    b3  = new Board(opt);

            b3.GetCombos(false);
            //var p2 = SAASSolver.GetBestPathSA(b, SAASSolver.Options.Default, BoardScorer.Options.Horus);
            //var b4 = b.GetBoardsAfterPath(p2.Start.Item1, p2.Start.Item2, p2.Actions);
            return(""
                   + b.ToString()
                   + "\n\nSAAS optimal:"
                   + opt.ToString()
                   + b3.ToString()
                   + "\n\n"
                   + opt.Score(BoardScorer.Options.Horus)
                   + "\n\n");
            //  + JsonConvert.SerializeObject(p2)
            //  + b4.Item1.ToString()
            //  + b4.Item2.ToString();
        }