示例#1
0
        static void Main(string[] args)
        {
            string programName = "Euklides Optimizer by Conny Westh 2020-01-20";
            int    lowestSum   = int.MaxValue;

            while (true)
            {
                ReSetBoxColor();
                Console.Title = programName;
                Console.Clear();
                Console.WriteLine("");
                Console.WriteLine(programName);
                EuklidesOptimizer euklidesOptimizer = new EuklidesOptimizer();
                euklidesOptimizer.Solve();
                ShowResult(euklidesOptimizer);
                //if (euklidesOptimizer.totalRankingList.LowestSum < lowestSum)
                //{
                lowestSum = euklidesOptimizer.totalRankingList.LowestSum;
                Console.Write($"Press [ESC] to exit, or another key to run again...");
                ConsoleKeyInfo key = Console.ReadKey();
                if (key.Key == ConsoleKey.Escape)
                {
                    break;
                }
                //}
            }
        }
示例#2
0
 static void ShowRankingList(EuklidesOptimizer eo)
 {
     Console.WriteLine("");
     if (eo.totalRankingList.Count < 2)
     {
         Console.WriteLine($"Matrisen har {eo.totalRankingList.Count} lösning med summan {eo.totalRankingList.LowestSum}:");
     }
     else
     {
         Console.WriteLine($"Matrisen har {eo.totalRankingList.Count} lösningar med summan {eo.totalRankingList.LowestSum}:");
     }
     foreach (BoxPath boxPath in eo.totalRankingList.GetAllBoxPathes_OrderByLowestSum())
     {
         //Console.WriteLine($"{boxPath}");
         ShowMatrix(eo.euklidesSquareBox, boxPath);
     }
 }
示例#3
0
 static void ShowResult(EuklidesOptimizer eo)
 {
     ShowMatrix(eo.euklidesSquareBox);
     Console.WriteLine($"Recursive Solve Calls: {EuklidesOptimizer.RecursiveSolveCallCounter}");
     ShowRankingList(eo);
 }