// Constructeurs                    ======================================================================================================
        public MdlGame()
            : base()
        {
            _mCarteS = new MdlCarteJoueur(_game.playerS);
            _mCarteO = new MdlCarteJoueur(_game.playerO);
            _mCarteN = new MdlCarteJoueur(_game.playerN);
            _mCarteE = new MdlCarteJoueur(_game.playerE);
            _mPageCode = new MdlPageCode();
            _mPageRendu = new MdlRenduHtml();

            _htmlFilePath = DEFAULT_HTMLCODE_FILEPATH;
        }
        // Constructeurs                    ======================================================================================================
        public CartesJoueurs()
        {
            InitializeComponent();

            //cacher gride1 pour choix navigateur
            CarteJoueurGrid.Visibility = System.Windows.Visibility.Hidden;
            ChoixNav.Visibility = System.Windows.Visibility.Visible;
            CarteJoueurGrid.IsEnabled = false;
            ChoixNav.IsEnabled = true;

            // Au départ, aucun modèle car aucun joueur.
            _mdl = null;
            position = 0;
            nbCarteJoueurActiv = 0;

            // image effect cacher au départ
            EffectBrowserUpdate.Visibility = System.Windows.Visibility.Hidden;
            EffectCrashBrowser.Visibility = System.Windows.Visibility.Hidden;
            EffectFreeze.Visibility = System.Windows.Visibility.Hidden;
        }
        // Fonctionnalités                  ======================================================================================================
        // Associe un nouveau joueur à la CarteJoueur
        public void ChoixNavigateur(int positionJoueur, int navClicked)
        {
            // Si le navigateur sélectionné a déjà été pris, on se barre direct.
            if (SurfaceWindow1.getInstance.getMdl.getBrowserPosition(navClicked) != Player.OUT)
            {
                return;
            }
            // On dit à Game que ce navigateur est désormais pris.
            Game.getInstance.LocationNav[navClicked] = positionJoueur;

            //On créée le nouveau joueur
            SurfaceWindow1.getInstance.getMdl.newPlayer(new Player(Player.browserNames[navClicked], positionJoueur, navClicked));
            SurfaceWindow1.getInstance.getMdl.setBrowserPosition(navClicked, positionJoueur);

            switch (positionJoueur)
            {
                case Player.SUD:   _mdl = SurfaceWindow1.getInstance.getMdl.mCarteS; break;
                case Player.OUEST: _mdl = SurfaceWindow1.getInstance.getMdl.mCarteO; break;
                case Player.NORD:  _mdl = SurfaceWindow1.getInstance.getMdl.mCarteN; break;
                case Player.EST:   _mdl = SurfaceWindow1.getInstance.getMdl.mCarteE; break;
                default: _mdl = null; break;
            }

            foreach (KeyValuePair<int, CartesJoueurs> carte in SurfaceWindow1.tabCartes)
            {
                for (int i = 0; i < 5; i++)
                {
                    if (i == navClicked)
                    {
                        switch (i)
                        {
                            case 0: carte.Value.BtnNav0.IsEnabled = false;
                                break;
                            case 1: carte.Value.BtnNav1.IsEnabled = false;
                                break;
                            case 2: carte.Value.BtnNav2.IsEnabled = false;
                                break;
                            case 3: carte.Value.BtnNav3.IsEnabled = false;
                                break;
                            case 4: carte.Value.BtnNav4.IsEnabled = false;
                                break;
                        }
                    }
                }

            }

            // On déactive le choix de navigateur et on active la carte Joueur
            ChoixNav.IsEnabled = false;
            ChoixNav.Visibility = System.Windows.Visibility.Hidden;
            CarteJoueurGrid.IsEnabled = true;
            CarteJoueurGrid.Visibility = System.Windows.Visibility.Visible;

            // Update final
            update();
        }
 public void newPlayer(Player p)
 {
     if (getPlayerAt(p.position()) == null)
     {
         _game.setPlayer(p, p.position());
         switch (p.position())
         {
             case Player.SUD: _mCarteS = new MdlCarteJoueur(p); break;
             case Player.OUEST: _mCarteO = new MdlCarteJoueur(p); break;
             case Player.NORD: _mCarteN = new MdlCarteJoueur(p); break;
             case Player.EST: _mCarteE = new MdlCarteJoueur(p); break;
             default: break;
         }
     }
 }