public CSPForwardChecking() { solutionsList = new List <ICSPSolvable>(); statisticsList = new List <CsvStatistics>(); if (GAME_TYPE == GAME_TYPE_ENUM.FUTOSHIKI) { rootData = FutoshikiProblemSingleton.GetInstance().initialFutoshikiGraph.DeepClone(); } else if (GAME_TYPE == GAME_TYPE_ENUM.SKYSCRAPPER) { rootData = SkyscraperProblemSingleton.GetInstance().initialSkyscrapperArray.DeepClone(); } Solver(); }
private void LoadDataForSkyscrapper() { string[] allLines = File.ReadAllLines(FILE_NAME); int problemSize = int.Parse(allLines[0]); SkyscraperProblemSingleton skyscraperProblem = SkyscraperProblemSingleton.GetInstance(); skyscraperProblem.Initialize(problemSize); SkyscraperProblemSingleton.upperContraints = ParseConstraintLineForSkyscrapper(allLines[1], problemSize); SkyscraperProblemSingleton.lowerContraints = ParseConstraintLineForSkyscrapper(allLines[2], problemSize); SkyscraperProblemSingleton.leftContraints = ParseConstraintLineForSkyscrapper(allLines[3], problemSize); SkyscraperProblemSingleton.rightContraints = ParseConstraintLineForSkyscrapper(allLines[4], problemSize); SkyscraperProblemSingleton.GetInstance().initialSkyscrapperArray.PrintAllElements(); }