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; }
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); } }
public DummySolver(Warehouse warehouse, IClientWish clientWish) { ClientWish = clientWish; Warehouse = warehouse; }
public SShapeSolver(Warehouse currentWarehouse, IClientWish currentClientWish) { Warehouse = currentWarehouse; ClientWish = currentClientWish; }