private void LoadDataForFutoshiki() { string[] allLines = File.ReadAllLines(FILE_NAME); int problemSize = int.Parse(allLines[0]); int counter = 2; FutoshikiGraph futoshikiGraph = new FutoshikiGraph(problemSize); while (allLines[counter] != RELATIONS_FILE_SEPARATOR) { string[] oneMatrixLine = allLines[counter].Split(DATA_SEPARATOR); for (int i = 0; i < oneMatrixLine.Length; i++) { futoshikiGraph.AddNode(ParseNode(oneMatrixLine[i], counter - 2, i)); } counter++; } counter++; while (counter < allLines.Length) { ParseConstraintFromTextLine(allLines[counter], futoshikiGraph); counter++; } FutoshikiProblemSingleton.GetInstance().initialFutoshikiGraph = futoshikiGraph; }
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(); }