Beispiel #1
0
        //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!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        }
Beispiel #2
0
        } //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
Beispiel #3
0
        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
Beispiel #4
0
        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
Beispiel #5
0
        } //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
Beispiel #6
0
        } //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