Exemple #1
0
        /// <summary>
        /// Reset the problem instance.
        /// </summary>
        private void resetData()
        {
            Cities = new City[_size];
            Route  = new List <int>(_size);
            bssf   = null;

            if (_mode == HardMode.Modes.Easy)
            {
                for (int i = 0; i < _size; i++)
                {
                    Cities[i] = new City(rnd.NextDouble(), rnd.NextDouble());
                }
            }
            else // Medium and hard
            {
                for (int i = 0; i < _size; i++)
                {
                    Cities[i] = new City(rnd.NextDouble(), rnd.NextDouble(), rnd.NextDouble() * City.MAX_ELEVATION);
                }
            }

            HardMode mm = new HardMode(this._mode, this.rnd, Cities);

            if (_mode == HardMode.Modes.Hard)
            {
                int edgesToRemove = (int)(_size * FRACTION_OF_PATHS_TO_REMOVE);
                mm.removePaths(edgesToRemove);
            }
            City.setModeManager(mm);

            cityBrushStyle          = new SolidBrush(Color.Black);
            cityBrushStartStyle     = new SolidBrush(Color.Red);
            routePenStyle           = new Pen(Color.Blue, 1);
            routePenStyle.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid;
        }
        // Reset the problem instance
        private void resetData()
        {
            cities = new City[size];
            bssf   = null;

            if (mode == HardMode.Modes.Easy)
            {
                for (int i = 0; i < size; i++)
                {
                    cities[i] = new City(rnd.NextDouble(), rnd.NextDouble());
                }
            }
            else // Medium and hard
            {
                for (int i = 0; i < size; i++)
                {
                    cities[i] = new City(rnd.NextDouble(), rnd.NextDouble(), rnd.NextDouble() * City.MAX_ELEVATION);
                }
            }

            HardMode mm = new HardMode(this.mode, this.rnd, cities);

            if (mode == HardMode.Modes.Hard)
            {
                int edgesToRemove = (int)(size * FRACTION_OF_PATHS_TO_REMOVE);
                mm.removePaths(edgesToRemove);
            }
            City.setModeManager(mm);
        }