//LOAD----------------------------------------------------------------- public void loadSimulation(string displayFileName) { //DELETE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Console.WriteLine("LOAD SIMULATION"); //DELETE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //INITIALIZE ASSOCIATION this.simulationDirector = new SimulationDirector(saveLoadDirector.loadSimulation(displayFileName)); //UPDATE STATE stateDirector.setScheduleAndRatingsLoadedState(true); //INITIALIZE SETTINGS //(must import data before loading settings) this.settingsDirector = new SettingsDirector(saveLoadDirector.GetSettings()); //INITIALIZE SIMULATION PROBABILITIES //(must load settings before initializing simulation probabilities) simulationDirector.initializeSimulationProbabilities(settingsDirector); //SET STATES stateDirector.setStates(simulationDirector.getCurrentSimulationDate(), saveLoadDirector.checkForSaveFolder(), saveLoadDirector.checkIfSimulationSaves()); //UPDATE ASSOCIATION DATA dataDirector.updateDataDirector(settingsDirector); //DELETE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Console.WriteLine("END LOAD SIMULATION"); //DELETE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! }
} //END //--------------------------------------------------------------------- //--------------------------------------------------------------------- //UPDATE DATA DIRECTOR------------------------------------------------- //--------------------------------------------------------------------- //--------------------------------------------------------------------- public void updateDataDirector(SettingsDirector settings) { //RESET UPDATE STATUS updateDataDirector(); //IF START DATE INCORRECT //RESET DATE SCHEDULE ARRAY if (0 != DateTime.Compare(startDate, settings.getEarliestGameDate())) { //UPDATE START DATE startDate = new DateTime( settings.getEarliestGameDate().Year, settings.getEarliestGameDate().Month, settings.getEarliestGameDate().Day, 0, 0, 0, 0); //INITIAL DATE FOR LOOP DateTime date = new DateTime(startDate.Year, startDate.Month, startDate.Day, 0, 0, 0, 0); //FOR EVERY DAY IN THE ARRAY for (int dateIndex = 0; dateIndex < dateScheduleArray.Length; dateIndex++) { //RESET DATE SCHEDULE DATA TABLE dateScheduleArray[dateIndex].reSetDateSchedule(date); //INCREMENT DATE date = date.AddDays(1.0); } //END FOR } // END IF } //END
private bool disposedValue = false; // To detect redundant calls public Director() { //IF SAVE FOLDER //CHECK FOR SCHEDULE AND RATINGS //ELSE SET STATES if (saveLoadDirector.checkForSaveFolder()) { //IF SCHEDULE AND RATINGS //LOAD SCHEDULE AND RATINGS //ELSE SET STATES if (saveLoadDirector.containsScheduleFile() && saveLoadDirector.containsRatingsFile()) { //INITIALIZE ASSOCIATION this.simulationDirector = new SimulationDirector( saveLoadDirector.loadRatings( saveLoadDirector.loadSchedules(simulationDirector))); //UPDATE STATE stateDirector.setScheduleAndRatingsLoadedState(true); //INITIALIZE SETTINGS //(must import data before loading settings) this.settingsDirector = new SettingsDirector(saveLoadDirector.GetSettings()); //INITIALIZE SIMULATION PROBABILITIES //(must load settings before initializing simulation probabilities) simulationDirector.initializeSimulationProbabilities(settingsDirector); //SET STATES stateDirector.setStates(simulationDirector.getCurrentSimulationDate(), saveLoadDirector.checkForSaveFolder(), saveLoadDirector.checkIfSimulationSaves()); //UPDATE ASSOCIATION DATA dataDirector.updateDataDirector(settingsDirector); } else { //INITIALIZE STATES stateDirector.setStates(simulationDirector.getCurrentSimulationDate(), saveLoadDirector.checkForSaveFolder(), saveLoadDirector.checkIfSimulationSaves()); }//END IF } else { //INITIALIZE STATES stateDirector.setStates(simulationDirector.getCurrentSimulationDate(), saveLoadDirector.checkForSaveFolder(), saveLoadDirector.checkIfSimulationSaves()); } //END IF } //END
public void initializeScoringDistributionRange(SettingsDirector settingsDirector) { //INCREMENT double increment = 0.0; //BELL CURVE LENGTH LENGTH int bellCurveLength = appResources.getLengthOfBellCurve(); //HALF LENGTH sideLength = settingsDirector.scoringDistribution; //SET HALF LENGTH if (sideLength % 2 == 0) { //ADD 2 FOR ZEROS //DIVIDE BY 2 sideLength = (sideLength + 2) / 2; } else { //ADD 3, 2 FOR ZEROS AND 1 TO EVEN EACH SIDE //DIVIDE BY 2 sideLength = (sideLength + 3) / 2; }//END IF //SET INCREMENT increment = (bellCurveLength / 2) / sideLength; //CLEAR DATA listProbabilityDistributionRange.Clear(); //FOR HALF THE PROBABILITY DISTRIBUTION //FILL PROBABILITY DISTRIBUTION for (int index = 0; index < sideLength; index++) { listProbabilityDistributionRange.Add(appResources.getBellCurveValue(((int)((index + 1) * increment)) - 1) + (index * 4)); }//END FOR //CLEAR DATA listScoringDistributionRange.Clear(); //SET SCORE ADJUSTMENTS for (int index = sideLength - 1; index >= 0; index--) { listScoringDistributionRange.Add(index); } //END FOR } //END
} //END public SettingsDirector(SettingsDirector settings) { //DEFAULT SETTINGS minScoringAverage = settings.minScoringAverage; maxScoringAverage = settings.maxScoringAverage; scoringDistribution = settings.scoringDistribution; simulationType = settings.simulationType; highestOffensiveRating = settings.highestOffensiveRating; lowestOffensiveRating = settings.lowestOffensiveRating; highestDefensiveRating = settings.highestDefensiveRating; lowestDefensiveRating = settings.lowestDefensiveRating; earliestGameDate = new DateTime(settings.getEarliestGameDate().Year, settings.getEarliestGameDate().Month, settings.getEarliestGameDate().Day, 0, 0, 0, 0); } //END
} //END //--------------------------------------------------------------------- //SETTINGS------------------------------------------------------------- //--------------------------------------------------------------------- //SAVE----------------------------------------------------------------- public Boolean saveSettings(SettingsDirector settingsDirector, string saveFolderFilePath) { //DELETE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Console.WriteLine("SAVE SETTINGS"); //DELETE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //TRANSFER NON USER ENTERED RATINGS OVER settingsDirector.setEarliestGameDate(this.settingsDirector.getEarliestGameDate()); settingsDirector.setHighLowOffensiveRatings(this.settingsDirector.getHighestOffensiveRating()); settingsDirector.setHighLowOffensiveRatings(this.settingsDirector.getLowestOffensiveRating()); settingsDirector.setHighLowDefensiveRatings(this.settingsDirector.getHighestDefensiveRating()); settingsDirector.setHighLowDefensiveRatings(this.settingsDirector.getLowestDefensiveRating()); //IF SETTINGS SAVED //LOAD SETTINGS if (saveLoadDirector.saveSettings(settingsDirector, saveFolderFilePath)) { //INITIALIZE SETTINGS this.settingsDirector = new SettingsDirector(saveLoadDirector.GetSettings()); //IF SIMULATION LOADED //INITIALIZE SIMULATION PROBABILITIES if (stateDirector.getScheduleAndRatingsLoadedState()) { //INITIALIZE SIMULATION PROBABILITIES simulationDirector.initializeSimulationProbabilities(this.settingsDirector); }//END IF return(true); } else { //ERROR MESSAGE HANDLED AT FORM LEVEL return(false); }//END IF //DELETE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Console.WriteLine("END SAVE SETTINGS"); //DELETE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! } //END