diff --git a/Program.cs b/Program.cs index af609ef..da607eb 100644 --- a/Program.cs +++ b/Program.cs @@ -1,7 +1,6 @@ -// See https://aka.ms/new-console-template for more information +using IdaStar; -string[] labyrinthIN = System.IO.File.ReadAllLines(@"C:\UNI\AI\IDAstar\labyrinth.txt"); -string[] labyrinthOUT = System.IO.File.ReadAllLines(@"C:\UNI\AI\IDAstar\labyrinthOUT.txt"); +string[] labyrinthIN = System.IO.File.ReadAllLines(@"C:\UNI\AI\IDAstar\labyrinthOUT.txt"); System.Console.WriteLine("The input labyrinth: "); @@ -10,11 +9,56 @@ foreach (string line in labyrinthIN) FormattedLabRow(line); } -System.Console.WriteLine("The output labyrinth: "); -foreach (string line in labyrinthOUT) -{ - FormattedLabRow(line); -} +var algoBoard = new IdaStar.WorkingBoard(labyrinthIN.Select((row) => row.ToList()).ToList()); +int step = 0; +bool done = false; +ConsoleColor border = ConsoleColor.Magenta; +algoBoard.AlgorithmStep += (_) => { + Console.Clear(); + step++; + if(done){ + System.Console.WriteLine("The solved labyrinth is:"); + }else if(step/2 == 0) { + System.Console.WriteLine("Computing [• ]"); + }else { + System.Console.WriteLine("Computing [ •]"); + } + + //top border + Console.BackgroundColor = border; + for (var i=0; i CellStateUtil.ToInput(state)); + var str = string.Join("", charlist); + + //left border + Console.BackgroundColor = border; + Console.Write("|||"); + Console.ResetColor(); + + //labyrinth line + FormattedLabRow(str); + + //right border + Console.BackgroundColor = border; + Console.Write("|||"); + Console.ResetColor(); + } + + //bottom border + Console.BackgroundColor = border; + for (var i=0; i"); break; } case 'F': { Console.BackgroundColor = ConsoleColor.Red; - Console.Write(" "); + Console.Write("[ ]"); break; } case 'p': { - Console.BackgroundColor = ConsoleColor.Cyan; - Console.Write(" "); + Console.BackgroundColor = ConsoleColor.Blue; + Console.Write(" • "); break; }