Exemplo n.º 1
0
        private void changerCouleur(Case.TypeCase typeCase, int indexPanneau)
        {
            switch (typeCase)
            {
            case Case.TypeCase.vide:
                if (indexPanneau % 2 == 0)
                {
                    panneauJeu.Controls[indexPanneau].BackColor = couleur.CouleurCaseClair;
                }
                else
                {
                    panneauJeu.Controls[indexPanneau].BackColor = couleur.CouleurCaseFonce;
                }
                break;

            case Case.TypeCase.fruit:
                panneauJeu.Controls[indexPanneau].BackColor = couleur.CouleurFruit;
                break;

            case Case.TypeCase.serpent:
                panneauJeu.Controls[indexPanneau].BackColor = couleur.CouleurSerpent;
                break;

            case Case.TypeCase.bordure:
                (panneauJeu.Controls[indexPanneau] as Label).BorderStyle = BorderStyle.None;
                panneauJeu.Controls[indexPanneau].BackColor = couleur.CouleurBordure;
                break;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Réaction à l'evt "la fenetre est construite" (référencé dans le MainWithEvents.xaml)
        /// </summary>
        /// <param name="sender">la fenetre </param>
        /// <param name="e"> l'evt : la fenetre est construite</param>
        unsafe private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // on initialise la Grid (mapGrid défini dans le xaml) à partir de la map du modèle (engine)
            for (int c = 0; c < MaPartie.getCarte().getLongueurCote(); c++)
            {
                mapGrid.ColumnDefinitions.Add(new ColumnDefinition()
                {
                    Width = new GridLength(60, GridUnitType.Pixel)
                });
            }
            for (int l = 0; l < MaPartie.getCarte().getLongueurCote(); l++)
            {
                mapGrid.RowDefinitions.Add(new RowDefinition()
                {
                    Height = new GridLength(40, GridUnitType.Pixel)
                });
                for (int c = 0; c < MaPartie.getCarte().getLongueurCote(); c++)
                {
                    // dans chaque case de la grille on ajoute une tuile (logique) matérialisée par un rectangle (physique)
                    // le rectangle possède une référence sur sa tuile
                    Case.TypeCase num     = MaPartie.getCarte().getTypeCase(c, l);
                    var           element = createRectangle(c, l, (int)num);
                    mapGrid.Children.Add(element);
                }
            }
            nbRectangles = mapGrid.Children.Count;
            //MessageBox.Show(xJ2.ToString() + yJ2.ToString() + xJ1.ToString() + yJ1.ToString());
            List <UniteDeBase> uniteJ1 = MaPartie.joueur1.getUnite();
            List <UniteDeBase> uniteJ2 = MaPartie.joueur2.getUnite();

            //creationGraphiqueUnite(uniteJ1, xJ1, yJ1);
            // 1 corresponds au numéro du joueur.
            // CreateEllipse = OK.
            //var _element = createEllipse(xJ2, yJ2, 1);
            //mapGrid.Children.Add(_element);
            if (!MaPartie.restoreSauvegarde)
            {
                creationGraphiqueUnite(uniteJ1, MaPartie.joueur1.getx0(), MaPartie.joueur1.gety0(), 1);
                creationGraphiqueUnite(uniteJ2, MaPartie.joueur2.getx0(), MaPartie.joueur2.gety0(), 2);
            }
            else
            {
                updateGraphiqueUnite(MaPartie.joueur1, 1);
                updateGraphiqueUnite(MaPartie.joueur2, 2);
            }

            //Initialisation du panel affichant les informations sur la partie en cours.
            infoGen1.Items.Add("Nombre de tour restant");
            infoGen1.Items.Add("Nombre d'unité restante du Joueur 1 ");
            infoGen1.Items.Add("Nombre d'unité restante du Joueur 2 ");
            infoGen1.Items.Add("Nombre de point du Joueur 1 ");
            infoGen1.Items.Add("Nombre de point du Joueur 2 ");
            // Initialise la liste des données de la Partie (à utiliser lors de l'appui du bouton Fin de tour).
            changeDataPartie();

            // Initialisation des informations sur les unités
            infoGen2.Items.Add("Aucune");
        }