コード例 #1
0
        private void generate_Click(object sender, EventArgs e)
        {
            var rnd = new Random();
            //const int nbBlock = 1;
            int nbBlock     = rnd.Next(1, 5);
            int nbAisles    = rnd.Next(1, 10);
            int aisleLenght = rnd.Next(5, 25);
            //int nbBlock = 2;
            //int nbAisles = 1;
            //int aisleLenght = 1;
            var warehouse = new Warehouse(nbBlock, nbAisles, aisleLenght);

            if (_drawer == null)
            {
                _drawer = new Drawer();
            }
            else
            {
                _drawer.Clear();
            }
            _drawer.DrawWarehouse(warehouse);
            Paint += _drawer.Drawing_handler;
            int         wishSize   = rnd.Next(1, nbBlock * nbAisles * aisleLenght) / 10;
            IClientWish clientWish = new ClientWish(warehouse, wishSize);

            _drawer.DrawClientWish(clientWish);
            Refresh();
            _currentWarehouse  = warehouse;
            _currentClientWish = clientWish;
            _sShapeSolver      = null;
            _dummySolver       = null;
        }
コード例 #2
0
 public void DrawClientWish(IClientWish clientWish)
 {
     if (_alreadyDrawedWishes.Contains(clientWish))
     {
         return;
     }
     foreach (var clientWishPos in clientWish.ClientWishes)
     {
         var blueBrush = new SolidBrush(Color.Blue);
         int x         = DefaultUpperLeftAngleX + clientWishPos.UpperLeftX * _horizontalLineLenght;
         int y         = DefaultUpperLeftAngleY + clientWishPos.UpperLeftY * _verticalLineLenght;
         var rect      = new Rectangle(x, y, _horizontalLineLenght, _verticalLineLenght);
         Action <PaintEventArgs> draw = e => e.Graphics.FillRectangle(blueBrush, rect);
         _drawList.Add(draw);
     }
 }
コード例 #3
0
 public DummySolver(Warehouse warehouse, IClientWish clientWish)
 {
     ClientWish = clientWish;
     Warehouse  = warehouse;
 }
コード例 #4
0
 public SShapeSolver(Warehouse currentWarehouse, IClientWish currentClientWish)
 {
     Warehouse  = currentWarehouse;
     ClientWish = currentClientWish;
 }