mirror of
https://github.com/dancojocaru2000/ai-project-idastar.git
synced 2025-02-23 00:49:34 +02:00
Display labyrinth attempt #1
This commit is contained in:
parent
a18068894d
commit
f251002a37
1 changed files with 58 additions and 14 deletions
68
Program.cs
68
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<algoBoard.Board[0].Count()+2; i++){
|
||||
Console.Write("===");
|
||||
}
|
||||
Console.ResetColor();
|
||||
|
||||
foreach (var line in algoBoard.Board)
|
||||
{
|
||||
var charlist = line.Select((state) => 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<algoBoard.Board[0].Count()+2; i++){
|
||||
Console.Write("===");
|
||||
}
|
||||
Console.ResetColor();
|
||||
};
|
||||
|
||||
algoBoard.RunIdaStar();
|
||||
|
||||
|
||||
void FormattedLabRow(string line) {
|
||||
|
@ -35,19 +79,19 @@ void FormattedLabRow(string line) {
|
|||
|
||||
case 'S': {
|
||||
Console.BackgroundColor = ConsoleColor.Green;
|
||||
Console.Write(" ");
|
||||
Console.Write("<•>");
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue