////////////////////////////////////////////////////////////////////////
        ///
        /// @fn public ModeJeu(List<string> maps, int playerType)
        /// @brief Constructeur par parametre de la fenetre de mode jeu.
        ///
        /// @param[in] maps : Liste de zones a jouer.
        /// @param[in] playerType : Type de joueur (Solo, 2P, AI)
        ///
        /// @return Aucune (constructeur).
        ///
        ////////////////////////////////////////////////////////////////////////
        public ModeJeu(List <string> maps, int playerType)
        {
            this.MouseWheel += new MouseEventHandler(panel_GL_MouseWheel);

            if (FonctionsNatives.obtenirModeDoubleBille() != 0)
            {
                nombreBillesMax = 2;
            }
            else
            {
                nombreBillesMax = 1;
            }

            // Permet d'etablir le type de joueur
            EtablirTouchesEtAI(playerType);

            this.KeyDown += new KeyEventHandler(PartieRapide_KeyDown);
            this.KeyUp   += new KeyEventHandler(PartieRapide_KeyUp);
            InitializeComponent();
            peutAnimer           = true;
            Program.peutAfficher = true;
            InitialiserAnimation();
            FonctionsNatives.resetZoom();
            currentZoom = -1;
            myMaps      = new List <string>(maps);
            nbZones     = maps.Count;
            map         = new StringBuilder(myMaps[0]);
            FonctionsNatives.ouvrirXML(map, map.Capacity);
            resetConfig();
            nombreBillesInit = FonctionsNatives.obtenirNombreDeBilles();
            FonctionsNatives.construireListesPalettes();
            FonctionsNatives.translater(-10, 0);

            currentZone++;
            Program.tempBool = true;
            panel_GL.Focus();
            string nomMap = Path.GetFileNameWithoutExtension(map.ToString());

            label_Nom.Text = "Nom: " + nomMap;
            if (nbZones == 1)
            {
                this.Text = "Partie Rapide: " + nomMap;
            }
            if (nbZones > 1)
            {
                this.Text = "Campagne: " + nomMap;
            }
            etat = new EtatJeuDebutDePartie(this);
            // Il faut changer le mode car le traitement de début est fini
            etat = new EtatJeuJouer(this);
            FonctionsNatives.animerJeu(true);

            if (true)
            {
                StringBuilder myFont = new StringBuilder("Bloodthirsty.ttf");
                // On spécifie la font
                FonctionsNatives.creeTexte(Points, Points.Capacity, myFont, myFont.Capacity);
                FonctionsNatives.creeTexte(Billes, Billes.Capacity, myFont, myFont.Capacity);

                // On specifie la taille (en 1/72 de pouce)
                FonctionsNatives.resize(Points, Points.Capacity, 35);
                FonctionsNatives.resize(Billes, Billes.Capacity, 35);

                // On specifie une couleur RGB
                FonctionsNatives.changerCouleurV(Points, Points.Capacity, ColorList.COLOR_Green);
                FonctionsNatives.changerCouleurV(Billes, Billes.Capacity, ColorList.COLOR_White);

                // On specifie la position
                FonctionsNatives.repositionner(Points, Points.Capacity, 1, 1);
                FonctionsNatives.repositionner(Billes, Billes.Capacity, 1, 1);

                // On demande d'afficher !
                FonctionsNatives.afficherTextes();
            }

            panelHeight = panel_GL.Size.Height;
            panelWidth  = panel_GL.Size.Width;


            if (Program.playerName.ToLower() == "admin")
            {
                FonctionsNatives.creeTexte(informations, informations.Capacity, fontArial, fontArial.Capacity);
                FonctionsNatives.resize(informations, informations.Capacity, 12);
                FonctionsNatives.changerCouleurV(informations, informations.Capacity, ColorList.COLOR_dark_red);
                FonctionsNatives.repositionner(informations, informations.Capacity, 0, 1);
            }

            fullscreen.EnterFullScreenMode(this);
        }