Example #1
0
        private void button_placement_alea_chariot_Click(object sender, EventArgs e) // Bonton placement aléaoire chariot
        {
            textBoxPosChar.Clear();
            btn_calcul_temps.Enabled    = true;
            btn_calcul_distance.Enabled = true;
            listBoxChar.Items.Clear();
            tabEntrepot = GenericNode.InitialiserEntrepot(); // On initialise le tableau "source"

            Random rd  = new Random();
            int    NBC = Convert.ToInt32(numericUpDown1.Value);

            tabChariot = new Chariot[NBC];//On initialise le tableau avec la taille de NBC

            for (int i = 0; i < tabChariot.Length; i++)
            {
                int posX = rd.Next(1, 25);
                int posY = rd.Next(1, 25);
                //On définit des position aléatoires tant que les valeurs correspondantes aux positions ne sont pas égales à 0 : un chariot ne doit pas être sur un obstacle
                while (GenericNode.tabEntrepot[posX - 1, posY - 1] < 0) // -1 car le tableau est décalé
                {
                    posX = rd.Next(1, 25);
                    posY = rd.Next(1, 25);
                }
                tabChariot[i] = new Chariot(posX, posY);          //On crée un nouveau chariot que l'on stocke dans le tableau
                GenericNode.tabEntrepot[posX - 1, posY - 1] = -1; //on remplace la valeur dans notre tableau global de l'entrepot correspondante aux positions du chariot  par -1 pour pas qu'un chariot puisse apparaitre sur un chariot prédéfini et que tout chariot soit considéré comme un obstacle
            }

            foreach (Chariot c in tabChariot)
            {
                listBoxChar.Items.Add(c);//On ajoute chaque chariot à la listBox pour pouvoir par la suite en séléctionner un.
            }
        }
Example #2
0
        private void button_placement_manuel_chariot_Click(object sender, EventArgs e) //Traitement Bouton placement manuel chariot
        {
            textBoxPosChar.Clear();
            listBoxChar.Items.Clear();
            textBoxX.Enabled            = true;
            textBoxY.Enabled            = true;
            btn_ajout_chariot.Enabled   = true;
            label8.Visible              = true;
            countNbCharMan.Visible      = true;
            btn_calcul_temps.Enabled    = false;
            btn_calcul_distance.Enabled = false;
            countNbCharMan.Text         = (compteurCharMan + 1).ToString();
            tabEntrepot = GenericNode.InitialiserEntrepot(); // On initialise le tableau "source"
            int NBC = Convert.ToInt32(numericUpDown1.Value);

            tabChariot = new Chariot[NBC];//On définit le nombre de chariot à rentrer
        }
Example #3
0
        } // bouton ajout objet manuel

        private void button_placement_manuel_obj_Click(object sender, EventArgs e)//bouton placement objet manuel
        {
            tbObjChois.Clear();
            btnAjoutObj.Enabled      = true;
            textBoxXObj.Enabled      = true;
            textBoxYObj.Enabled      = true;
            cbOrientationObj.Enabled = true;
            tbHauteur.Enabled        = true;
            listBoxObj.Items.Clear();
            cbOrientationObj.Items.Clear();
            cbOrientationObj.Items.Add("Nord");
            cbOrientationObj.Items.Add("Sud");
            label11.Visible             = true;
            lbCountObj.Visible          = true;
            btn_calcul_temps.Enabled    = false;
            btn_calcul_distance.Enabled = false;
            lbCountObj.Text             = (compteurObjMan + 1).ToString();
            tabEntrepot = GenericNode.InitialiserEntrepot(); // On initialise le tableau "source"
            int NBC = Convert.ToInt32(numericUpDown2.Value);

            tabObjet = new Objet[NBC];
        }
Example #4
0
        private void setGrilleView()// Dessine les cases de la grille
        {
            tabForme = new FormeRectangle[25, 25];
            string color = "";

            if (tabEntrepot == null)
            {
                tabEntrepot = GenericNode.InitialiserEntrepot();
            }
            else
            {
                for (int i = 0; i < tabEntrepot.GetLength(0); i++)// On récupère tout les éléments du tableau et suivant les valeurs passées dans GenericNode.InitialiserEntrepot on définit la couleur correspondante à la case.
                {
                    for (int j = 0; j < tabEntrepot.GetLength(1); j++)
                    {
                        int positionX = 25 + i * 25;
                        int positionY = 25 + j * 25;
                        int value     = tabEntrepot[i, j];
                        switch (value)
                        {
                        case 0:
                            color = "white";
                            break;

                        case -1:
                            color = "blue";
                            break;

                        case -2:
                            color = "green";
                            break;
                        }
                        FormeRectangle r = new FormeRectangle(color, positionX, positionY);
                        tabForme[i, j] = r;
                    }
                }
            }
        }
Example #5
0
        private void button_nouveau_Click(object sender, EventArgs e)
        {
            listBoxChar.Items.Clear();
            textBoxPosChar.Clear();
            listBoxObj.Items.Clear();
            tbObjChois.Clear();
            tabEntrepot = GenericNode.InitialiserEntrepot();
            GenericNode        Ninit; // Noeud correspondant à la position du chariot
            GenericNode        Nobj;  //Noeud correspondant à la position de l'objet
            List <GenericNode> Lres;
            List <GenericNode> bestTrajectoire;

            label_error.Visible     = false;
            groupBox2.Visible       = true;
            button_nouveau1.Visible = false;
            compteurCharMan         = 0;
            compteurObjMan          = 0;
            label8.Visible          = false;
            lbCountObj.Visible      = false;
            countNbCharMan.Visible  = false;
            label11.Visible         = false;
            label17.Visible         = false;
            lbTimeTot.Visible       = false;
        }// Bouton pour pouvoir faire une nouvelle simulation