public static LabeledState <GameState, TicTacToeValue>[] LoadAllUniqueStates(Func <GameState, double[]> inputTransform) { var evaluator = new TicTacToeValueEvaluator(inputTransform); var generator = TicTacToeLabeledStateGenerator <TicTacToeValue> .Instance; return(generator.GetAllUniqueStates(evaluator).ToArray()); }
public static LabeledState <GameState, TicTacToeValue>[] LoadAllUniqueStates(IStorage storage, Func <GameState, double[]> inputTransform) { if (AllUniqueStates == null) { string resourceName = "TicTacToe-LabeledState-AllUniqueStates.txt"; try { AllUniqueStates = storage.Read <LabeledState <GameState, TicTacToeValue>[]>(resourceName); } catch (Exception) { var evaluator = new TicTacToeValueEvaluator(inputTransform); var generator = TicTacToeLabeledStateGenerator <TicTacToeValue> .Instance; AllUniqueStates = generator.GetAllUniqueStates(evaluator).ToArray(); try { storage.Write(resourceName, AllUniqueStates); } catch (Exception exception) { } } } return(AllUniqueStates); }