示例#1
0
        private void StartButton_Click(object sender, EventArgs e)
        {
            Roundabout.SimulationDuration = (int)SimulationDurationSelector.Value;
            List<TrafficPattern> patterns = new List<TrafficPattern>();

            //Custom car flows
            //NORTH
            if (CheckBoxNorth.Checked)
                patterns.Add(new TrafficPattern(EntryPosition.North, CarPerMinN.IntVal(), ToNFromN.IntVal(),
                    ToEFromN.IntVal(), ToSFromN.IntVal(), ToWFromN.IntVal()));
            else
                patterns.Add(new TrafficPattern(EntryPosition.North));
            //WEST
            if (CheckBoxWest.Checked)
                patterns.Add(new TrafficPattern(EntryPosition.West, CarPerMinW.IntVal(), ToNFromW.IntVal(),
                    ToEFromW.IntVal(), ToSFromW.IntVal(), ToWFromW.IntVal()));
            else
                patterns.Add(new TrafficPattern(EntryPosition.West));
            //SOUTH
            if (CheckBoxSouth.Checked)
                patterns.Add(new TrafficPattern(EntryPosition.South, CarPerMinS.IntVal(), ToNFromS.IntVal(),
                    ToEFromS.IntVal(), ToSFromS.IntVal(), ToWFromS.IntVal()));
            else
                patterns.Add(new TrafficPattern(EntryPosition.South));
            //SOUTH
            if (CheckBoxEast.Checked)
                patterns.Add(new TrafficPattern(EntryPosition.East, CarPerMinE.IntVal(), ToNFromE.IntVal(),
                    ToEFromE.IntVal(), ToSFromE.IntVal(), ToWFromE.IntVal()));
            else
                patterns.Add(new TrafficPattern(EntryPosition.East));
            //Custom car flows end

            LaneGroup1.Enabled = false;
            LaneGroup2.Enabled = false;
            LaneGroup3.Enabled = false;
            LaneGroup4.Enabled = false;

            Roundabout.SimulationDuration = SimulationDurationSelector.IntVal();
            SimulationDurationSelector.Enabled = false;

            //Init roundabout object
            if (ConventialRadio.Checked)
            {
                _roundabout = new ConventionalRoundabout();
                _roundabout.Init(patterns);
            }
            else
            {
                _roundabout = new IntelligentRoundabout();
                _roundabout.Init(patterns);

            }
            ConventialRadio.Enabled = false;
            IntelligentRadio.Enabled = false;

            ResumeButton.Enabled = true;
            PauseButton.Enabled = false;
            ManualIterButton.Enabled = true;
        }