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; } }
/// <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"); }