public void popupEnchere(int index)
        {
            model.Property ppt = GameManager.GetInstance.boardManager.getBoard()[index].getProperty();

            Popup_carte popup = null;

            switch (ppt.getType())
            {
            case model.Property.PropType.PRIVATE:
                popup = new Popup_carte(ppt, "PROPRIETE", ppt.getName(), false, Color.FromName(((model.PrivateProperty)ppt).getColor()), CURRENCY, ppt.getRent()[0], ppt.getRent()[1], ppt.getRent()[2], ppt.getRent()[3], ppt.getRent()[4], ppt.getRent()[5], ((model.PrivateProperty)ppt).getHouseCost(), ppt.getPrice() / 2, true);
                break;

            case model.Property.PropType.RAILROAD:
                popup = new Popup_carte(ppt, "GARE", ppt.getName(), false, CURRENCY, ppt.getRent()[0], ppt.getRent()[1], ppt.getRent()[2], ppt.getRent()[3], new Bitmap(".\\Resources\\train.png"), true);
                break;

            case model.Property.PropType.UTILITY:
                Bitmap btmp;
                if (index == 12)
                {
                    btmp = new Bitmap(".\\Resources\\electric.png");
                }
                else
                {
                    btmp = new Bitmap(".\\Resources\\water.png");
                }
                popup = new Popup_carte(ppt, "ENTREPRISE", ppt.getName(), false, btmp, true);
                break;
            }
            Popup_enchere enchere = new Popup_enchere(controller.GameManager.GetInstance.playerManager.getPlayers(), popup);

            enchere.ShowDialog(this);
            popup.Dispose();
            enchere.Dispose();
        }
        // Constructeur de carte gare
        public Popup_carte(model.Property p, string titre, string nom, bool owned, String currency, int prix_1, int prix_2, int prix_3, int prix_4, Image logo, bool achat)
        {
            property = p;
            InitializeComponent();

            label1.Text = titre;
            label2.Text = nom;

            label6.Text = "Loyer avec 1 gare";
            label7.Text = "Loyer avec 2 gare";
            label8.Text = "Loyer avec 3 gare";
            label9.Text = "Loyer avec 4 gare";

            label15.Text = currency + prix_1.ToString();
            label14.Text = currency + prix_2.ToString();
            label13.Text = currency + prix_3.ToString();
            label12.Text = currency + prix_4.ToString();

            // Cacher les label en trop
            label3.Visible              = false;
            label5.Visible              = false;
            label10.Visible             = false;
            label11.Visible             = false;
            label16.Visible             = false;
            label18.Visible             = false;
            button_achat_maison.Visible = false;

            if (!owned)
            {
                if (achat)
                {
                    button_acheter.Visible = true;
                    button1.Visible        = true;
                    button_close.Visible   = false;
                }
                button_hypotheque.Visible = false;
                this.Height -= 40;
            }
            else
            {
                if (p.getMortgaged())
                {
                    button_hypotheque.Text = "Racheter hypotèque: +" + currency + 60;
                }
                else
                {
                    button_hypotheque.Text = "Hypotéquer: +" + currency + 50;
                }
            }

            // Retrecir la carte
            this.Height -= 55;

            // Mettre l'image de fond
            pictureBox1.BackgroundImage = logo;
            pictureBox1.Visible         = true;
        }
        // Constructeur de carte entreprise
        public Popup_carte(model.Property p, string titre, string nom, bool owned, Image logo, bool achat)
        {
            property = p;
            InitializeComponent();

            label1.Text = titre;
            label2.Text = nom;

            label6.Text = "Si 1 entreprise de service est possédé, le loyer est 4 fois le montant des dés.";
            label9.Text = "Si 2 entreprises de service sont possédés, le loyer est 10 fois le montant des dés.";

            // Cacher les label en trop
            label3.Visible              = false;
            label5.Visible              = false;
            label7.Visible              = false;
            label8.Visible              = false;
            label10.Visible             = false;
            label11.Visible             = false;
            label12.Visible             = false;
            label13.Visible             = false;
            label14.Visible             = false;
            label15.Visible             = false;
            label16.Visible             = false;
            label18.Visible             = false;
            button_achat_maison.Visible = false;

            if (!owned)
            {
                if (achat)
                {
                    button_acheter.Visible = true;
                    button1.Visible        = true;
                    button_close.Visible   = false;
                }
                button_hypotheque.Visible = false;
                this.Height -= 35;
            }
            else
            {
                if (p.getMortgaged())
                {
                    button_hypotheque.Text = "Racheter hypotèque: +" + "$" + 60;
                }
                else
                {
                    button_hypotheque.Text = "Hypotéquer: +" + "$" + 50;
                }
            }
            // Retrecir la carte
            this.Height -= 55;

            // Mettre l'image de fond
            pictureBox1.BackgroundImage = logo;
            pictureBox1.Visible         = true;
        }
        // Constructeur de carte propriété
        public Popup_carte(model.Property p, string titre, string nom, bool owned, Color color, String currency, int prix_1, int prix_2, int prix_3, int prix_4, int prix_5, int prix_6, int prix_7, int prix_8, bool achat)
        {
            property = p;
            InitializeComponent();
            label1.Text                = titre;
            label2.Text                = nom;
            label1.BackColor           = color;
            label2.BackColor           = color;
            pictureBox_color.BackColor = color;
            label11.Text               = currency + prix_7.ToString();
            label12.Text               = currency + prix_6.ToString();
            label13.Text               = currency + prix_5.ToString();
            label14.Text               = currency + prix_4.ToString();
            label15.Text               = currency + prix_3.ToString();
            label16.Text               = currency + prix_2.ToString();
            label18.Text               = currency + prix_1.ToString();


            if (owned)
            {
                if (p.getMortgaged())
                {
                    button_hypotheque.Text = "Racheter hypotèque: +" + currency + (prix_8 * 1.1).ToString();
                }
                else
                {
                    button_hypotheque.Text = "Hypotéquer: +" + currency + prix_8.ToString();
                }
                button_achat_maison.Text    = "Acheter une maison: -" + currency + prix_7.ToString();
                button_vente_maison.Visible = true;
                button_vente_maison.Text    = "Vendre une maison: +" + currency + (prix_7 / 2).ToString();
            }
            else
            {
                if (achat)
                {
                    button1.Visible        = true;
                    button_close.Visible   = false;
                    button_acheter.Visible = true;
                }
                button_achat_maison.Visible = false;
                button_hypotheque.Visible   = false;
                this.Height -= 60;
            }
        }
        public void addPropriete(String joueur, model.Property nomPropriete, Color couleur, int index, int loyer)
        {
            int  i   = 0;
            bool add = true;

            foreach (Tuple <String, Color, int, int, int> p in proprietes[joueur])
            {
                if (index_proprietes[p.Item1] < index)
                {
                    i++;
                }
                if (p.Item1 == nomPropriete.getName())
                {
                    add = false;
                }
            }
            if (add)
            {
                proprietes[joueur].Insert(i, Tuple.Create(nomPropriete.getName(), couleur, 0, loyer, index));
            }
            index_proprietes[nomPropriete.getName()] = index;
            rent_proprietes[nomPropriete]            = loyer;
            drawPanel_player.Refresh();
        }
 public void setRent(model.Property nomPropritete, int rent)
 {
     rent_proprietes[nomPropritete] = rent;
     drawPanel_player.Refresh();
 }