diff --git a/Program.cs b/Program.cs index 22749d4..7214258 100644 --- a/Program.cs +++ b/Program.cs @@ -1,6 +1,7 @@ using IdaStar; string[] labyrinthIN = File.ReadAllLines(@"./labyrinth.txt"); +string[] labyrinth = FormatLabyrinth(labyrinthIN); Console.OutputEncoding = System.Text.Encoding.UTF8; @@ -11,7 +12,14 @@ foreach (string line in labyrinthIN) Console.WriteLine(); } -var algoBoard = new IdaStar.WorkingBoard(labyrinthIN.Select((row) => row.ToList()).ToList()); +Console.WriteLine("The formatted labyrinth: "); +foreach (string line in labyrinth) +{ + FormattedLabRow(line); + Console.WriteLine(); +} + +var algoBoard = new IdaStar.WorkingBoard(labyrinth.Select((row) => row.ToList()).ToList()); int step = 0; ConsoleColor border = ConsoleColor.Magenta; bool printSteps = false; @@ -71,6 +79,34 @@ static void FormattedLabRow(string line) { Console.ResetColor(); } +string[] FormatLabyrinth(string[] labIN) { + var maxW = 0; + List lab = new List(); + foreach (string line in labIN) + { + if(maxW < line.Length) { + maxW = line.Length; + } + } + + foreach (string line in labIN) + { + if(maxW > line.Length) { + var dif = maxW - line.Length; + string fLine = line; + while (dif > 0) { + fLine = fLine+ "#"; + dif--; + } + lab.Add(fLine); + }else { + lab.Add(line); + } + } + + string[] FormattedLabyrinth = lab.ToArray(); + return FormattedLabyrinth; +} void PrintBoard(int threshold, bool done){ Console.Clear(); diff --git a/labyrinth.txt b/labyrinth.txt index 9ef6960..16c9c72 100644 --- a/labyrinth.txt +++ b/labyrinth.txt @@ -1,14 +1,7 @@ -########## -#S # # # -### # ## # -# # # -## # # -# # ### # -#### #### -##### #### -# # F -### #### # -# # # -## # # -# # ### # -########## \ No newline at end of file +#### ### +#S # +##### ## + +## #### # +# # # + ##F#### diff --git a/labyrinthOUT.txt b/labyrinthOUT.txt deleted file mode 100644 index a56df2b..0000000 --- a/labyrinthOUT.txt +++ /dev/null @@ -1,5 +0,0 @@ -###S# -# p# -##pp# -#pp## -#F### \ No newline at end of file