private void btnCarte4_Click(object sender, RoutedEventArgs e) { if (actif == j1) { btnCarte1.Opacity = 0.5; btnCarte2.Opacity = 0.5; btnCarte3.Opacity = 0.5; btnCarte4.Opacity = 1; foreach (CartePersonnage c in j1.Main) { if (c.Numero == Convert.ToString(btnCarte4.Content)) { selected = c; } } } else { btnCarte1.Opacity = 0.5; btnCarte2.Opacity = 0.5; btnCarte3.Opacity = 0.5; btnCarte4.Opacity = 1; foreach (CartePersonnage c in j2.Main) { if (c.Numero == Convert.ToString(btnCarte4.Content)) { selected = c; } } } }
public Accueil_Jeu() { InitializeComponent(); var json = JsonConvert.DeserializeObject <dynamic>(File.ReadAllText("ninjago.json")); //pour recuperer les cartes depuis le Json et instancié les decks et ma collections foreach (var carte in json) { Carte c = new Carte(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString(), Convert.ToBoolean(carte.Deck1), Convert.ToBoolean(carte.Deck2), Convert.ToBoolean(carte.Deck3)); if (c.Type == "P") { CartePersonnage cp = new CartePersonnage(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString(), Convert.ToBoolean(carte.Deck1), Convert.ToBoolean(carte.Deck2), Convert.ToBoolean(carte.Deck3), Convert.ToInt32(carte.Attaque), Convert.ToInt32(carte.Defense), Convert.ToInt32(carte.Vitesse), Convert.ToInt32(carte.Force)); lesCartes.Add(cp); if (cp.Deck1 == true) { deck1.Add(cp); } if (cp.Deck2 == true) { deck2.Add(cp); } if (cp.Deck3 == true) { deck3.Add(cp); } if (cp.Exemplaire > 0) { maCollection.Add(cp); } } } // pour remplir la comboBox des decks si un deck contient 20 cartes il sera ajouter dans la combo box if (deck1 != null) { if (deck1.Count() == 20) { cbxDeckJ1.Items.Add("deck 1"); cbxDeckJ2.Items.Add("deck 1"); } } if (deck2 != null) { if (deck2.Count() == 20) { cbxDeckJ1.Items.Add("deck 2"); cbxDeckJ2.Items.Add("deck 2"); } } if (deck3 != null) { if (deck3.Count() == 20) { cbxDeckJ1.Items.Add("deck 3"); cbxDeckJ2.Items.Add("deck 3"); } } }
public Launcher() { InitializeComponent(); #region Initialisation Liste générale //recuperation du JSON du fichier local var json = JsonConvert.DeserializeObject <dynamic>(File.ReadAllText("ninjago.json")); //Parcours de la collection pour créer les cartes en fonction du type renvoyer par le JSON try { foreach (var carte in json) { if (carte.Type == "P") { CartePersonnage cp = new CartePersonnage(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString(), Convert.ToBoolean(carte.Deck1), Convert.ToBoolean(carte.Deck2), Convert.ToBoolean(carte.Deck3), Convert.ToInt32(carte.Attaque), Convert.ToInt32(carte.Defense), Convert.ToInt32(carte.Vitesse), Convert.ToInt32(carte.Force)); lesCartes.Add(cp); } else if (carte.Type == "A") { CarteAction ca = new CarteAction(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString()); lesCartes.Add(ca); } else if (carte.Type == "V") { CarteVehicule cv = new CarteVehicule(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString()); lesCartes.Add(cv); } } } catch { } //Envoie des données au fichier Json local File.WriteAllText("ninjago.json", JsonConvert.SerializeObject(lesCartes, Formatting.Indented)); #endregion #region Initailisation maCollection //Parcours de la collection pour créer les cartes en fonction du type renvoyer par le JSON foreach (Carte c in lesCartes) //Pour chaque carte de la liste complete { if (c.Exemplaire > 0) //Si le nbr d'exemplaire et supérieur à 0 on l'ajoute dans la collection du joueur { maCollection.Add(c); } } #endregion #region Initialisation monDeck foreach (Carte c in maCollection) //Pour chaque carte de la collection du joueur { if (c.Deck1 == true) //Si le booleen deck est vrai on l'ajoute dans le deck du joueur { monDeck1.Add(c); } if (c.Deck2 == true) { monDeck2.Add(c); } if (c.Deck3 == true) { monDeck3.Add(c); } } #endregion }
private void btn_recup_api_Click(object sender, RoutedEventArgs e) { bool ajout = true; //recuperation du JSON de l'API String url = "http://127.0.0.1/ninjago/public/api"; var res = new WebClient(); var json = res.DownloadString(url); // il existe uploadString aussi JArray o = JArray.Parse(json); //Parcours de la collection pour créer les cartes en fonction du type renvoyer par le JSON if (lesCartes.Count() == 0) { foreach (JObject carte in o) { Carte c = new Carte(carte.GetValue("nom").ToString(), carte.GetValue("numero").ToString(), Convert.ToInt32(carte.GetValue("exemplaire")), carte.GetValue("description").ToString(), carte.GetValue("type").ToString(), Convert.ToBoolean(carte.GetValue("deck1")), Convert.ToBoolean(carte.GetValue("deck2")), Convert.ToBoolean(carte.GetValue("deck3"))); //GetValue("xxx") permet de récupérer les données du JSON if (c.Type == "P") { CartePersonnage cp = new CartePersonnage(carte.GetValue("nom").ToString(), carte.GetValue("numero").ToString(), Convert.ToInt32(carte.GetValue("exemplaire")), carte.GetValue("description").ToString(), carte.GetValue("type").ToString(), Convert.ToBoolean(carte.GetValue("deck1")), Convert.ToBoolean(carte.GetValue("deck2")), Convert.ToBoolean(carte.GetValue("deck3")), Convert.ToInt32(carte.GetValue("attaque")), Convert.ToInt32(carte.GetValue("defense")), Convert.ToInt32(carte.GetValue("vitesse")), Convert.ToInt32(carte.GetValue("force"))); lesCartes.Add(cp); } else if (c.Type == "A") { CarteAction ca = new CarteAction(carte.GetValue("nom").ToString(), carte.GetValue("numero").ToString(), Convert.ToInt32(carte.GetValue("exemplaire")), carte.GetValue("description").ToString(), carte.GetValue("type").ToString()); lesCartes.Add(ca); } else if (c.Type == "V") { CarteVehicule cv = new CarteVehicule(carte.GetValue("nom").ToString(), carte.GetValue("numero").ToString(), Convert.ToInt32(carte.GetValue("exemplaire")), carte.GetValue("description").ToString(), carte.GetValue("type").ToString()); lesCartes.Add(cv); } } } else { foreach (JObject carte in o) { foreach (Carte laCarte in lesCartes) { Carte c = new Carte(carte.GetValue("nom").ToString(), carte.GetValue("numero").ToString(), Convert.ToInt32(carte.GetValue("exemplaire")), carte.GetValue("description").ToString(), carte.GetValue("type").ToString(), Convert.ToBoolean(carte.GetValue("deck1")), Convert.ToBoolean(carte.GetValue("deck2")), Convert.ToBoolean(carte.GetValue("deck3"))); //GetValue("xxx") permet de récupérer les données du JSON if (c.Nom == laCarte.Nom) { ajout = false; } else { } } if (ajout == true) { if (carte.GetValue("type").ToString() == "P") { CartePersonnage cp = new CartePersonnage(carte.GetValue("nom").ToString(), carte.GetValue("numero").ToString(), Convert.ToInt32(carte.GetValue("exemplaire")), carte.GetValue("description").ToString(), carte.GetValue("type").ToString(), Convert.ToBoolean(carte.GetValue("deck1")), Convert.ToBoolean(carte.GetValue("deck2")), Convert.ToBoolean(carte.GetValue("deck3")), Convert.ToInt32(carte.GetValue("attaque")), Convert.ToInt32(carte.GetValue("defense")), Convert.ToInt32(carte.GetValue("vitesse")), Convert.ToInt32(carte.GetValue("force"))); lesCartes.Add(cp); } else if (carte.GetValue("type").ToString() == "A") { CarteAction ca = new CarteAction(carte.GetValue("nom").ToString(), carte.GetValue("numero").ToString(), Convert.ToInt32(carte.GetValue("exemplaire")), carte.GetValue("description").ToString(), carte.GetValue("type").ToString()); lesCartes.Add(ca); } else if (carte.GetValue("type").ToString() == "V") { CarteVehicule cv = new CarteVehicule(carte.GetValue("nom").ToString(), carte.GetValue("numero").ToString(), Convert.ToInt32(carte.GetValue("exemplaire")), carte.GetValue("description").ToString(), carte.GetValue("type").ToString()); lesCartes.Add(cv); } } } } //Ensuite on réécrit les données récupérer dans le fichier local (!!!Attention reset du nombre d'exemplaire et du booléen ==> a corriger) File.WriteAllText("ninjago.json", JsonConvert.SerializeObject(lesCartes, Formatting.Indented)); }
public Deck() { InitializeComponent(); #region Initialisation Liste générale //recuperation du JSON du fichier local var json = JsonConvert.DeserializeObject <dynamic>(File.ReadAllText("ninjago.json")); //Parcours de la collection pour créer les cartes en fonction du type renvoyer par le JSON try { foreach (var carte in json) { if (carte.Type == "P") { CartePersonnage cp = new CartePersonnage(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString(), Convert.ToBoolean(carte.Deck1), Convert.ToBoolean(carte.Deck2), Convert.ToBoolean(carte.Deck3), Convert.ToInt32(carte.Attaque), Convert.ToInt32(carte.Defense), Convert.ToInt32(carte.Vitesse), Convert.ToInt32(carte.Force)); lesCartes.Add(cp); } else if (carte.Type == "A") { CarteAction ca = new CarteAction(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString()); lesCartes.Add(ca); } else if (carte.Type == "V") { CarteVehicule cv = new CarteVehicule(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString()); lesCartes.Add(cv); } } } catch { } #endregion #region Initailisation maCollection //Parcours de la collection pour créer les cartes en fonction du type renvoyer par le JSON foreach (Carte c in lesCartes) //Pour chaque carte de la liste complete { if (c.Exemplaire > 0) //Si le nbr d'exemplaire et supérieur à 0 on l'ajoute dans la collection du joueur { maCollection.Add(c); } } #endregion #region Initialisation monDeck foreach (Carte c in maCollection) //Pour chaque carte de la collection du joueur { if (c.Deck1 == true) //Si le booleen deck est vrai on l'ajoute dans le deck du joueur { monDeck1.Add(c); } if (c.Deck2 == true) { monDeck2.Add(c); } if (c.Deck3 == true) { monDeck3.Add(c); } } #endregion //Remplissage de la liste box deck cbbx_choix_deck.SelectedIndex = 0; //permet de remplir la list box deck avec par défaut, le deck 1 if (cbbx_choix_deck.SelectedIndex == 0) { lbox_deck.ItemsSource = monDeck1; } else if (cbbx_choix_deck.SelectedIndex == 1) { lbox_deck.ItemsSource = monDeck2; } else if (cbbx_choix_deck.SelectedIndex == 2) { lbox_deck.ItemsSource = monDeck3; } //Remplissage de la liste box collection lbox_collection.Items.Clear(); foreach (Carte c in maCollection) { if (cbbx_choix_deck.SelectedIndex == 0) { lbl_deck_count.Content = monDeck1.Count() + " / 20"; if (c.Deck1 == true) { } else { lbox_collection.Items.Add(c); } } else if (cbbx_choix_deck.SelectedIndex == 1) { lbl_deck_count.Content = monDeck2.Count() + " / 20"; if (c.Deck2 == true) { } else { lbox_collection.Items.Add(c); } } else if (cbbx_choix_deck.SelectedIndex == 2) { lbl_deck_count.Content = monDeck1.Count() + " / 20"; if (c.Deck3 == true) { } else { lbox_collection.Items.Add(c); } } } //initialisation compteur de carte lbl_collection_count.Content = lbox_collection.Items.Count + " / " + lesCartes.Count(); lbl_deck_count.Content = monDeck1.Count() + " / 20"; }
public void refresh() { //refresh de la collection lbox_collection.Items.Clear(); foreach (Carte c in maCollection) { if (cbbx_choix_deck.SelectedIndex == 0) { lbl_deck_count.Content = monDeck1.Count() + " / 20"; if (c.Deck1 == true) { } else { lbox_collection.Items.Add(c); } } else if (cbbx_choix_deck.SelectedIndex == 1) { lbl_deck_count.Content = monDeck2.Count() + " / 20"; if (c.Deck2 == true) { } else { lbox_collection.Items.Add(c); } } else if (cbbx_choix_deck.SelectedIndex == 2) { lbl_deck_count.Content = monDeck1.Count() + " / 20"; if (c.Deck3 == true) { } else { lbox_collection.Items.Add(c); } } } lbox_deck.Items.Refresh(); //compteur de carte lbl_collection_count.Content = lbox_collection.Items.Count + " / " + lesCartes.Count(); if (cbbx_choix_deck.SelectedIndex == 0) { lbl_deck_count.Content = monDeck1.Count() + " / 20"; } else if (cbbx_choix_deck.SelectedIndex == 1) { lbl_deck_count.Content = monDeck2.Count() + " / 20"; } else if (cbbx_choix_deck.SelectedIndex == 2) { lbl_deck_count.Content = monDeck3.Count() + " / 20"; } if (carte != null) //on vérifie que la carte séléctionnée n'es pas null pour éviter le plantage { lbl_nom.Content = carte.ToString(); lbl_numero.Content = carte.Numero.ToString(); if (carte.Type == "P") { CartePersonnage cp = new CartePersonnage(); cp = (CartePersonnage)carte; lbl_vitesse.Content = cp.Vitesse; lbl_attaque.Content = cp.Attaque; lbl_force.Content = cp.Force; lbl_defense.Content = cp.Defense; } //Recuperation des images (try catch nécessaire pour éviter le plantage si la carte ne correspond à aucune image) try { img_carte.Visibility = Visibility.Visible; try //Conversion en int puis à nouveau en string pour supprier les 0 de l'affichage //Try catch nécessaire pour les cartes LEx car on ne peut aps convertir en int { carte.UrlImage = "pack://application:,,,/Ressource/cartes/" + Convert.ToInt32(carte.Numero).ToString() + ".png"; //l'attribut UrlImage prend les attributs de la carte pour les metttre en forme comme le nom de l'image qui lui correspond } catch { carte.UrlImage = "pack://application:,,,/Ressource/cartes/" + carte.Numero.ToString() + ".png"; //l'attribut UrlImage prend les attributs de la carte pour les metttre en forme comme le nom de l'image qui lui correspond } var uri = new Uri(carte.UrlImage); var bitmap = new BitmapImage(uri); img_carte.Source = bitmap; } catch { img_carte.Visibility = Visibility.Hidden; } } else //si la carte est nulle, ont vide tous les affichages { lbl_nom.Content = ""; lbl_numero.Content = ""; lbl_vitesse.Content = ""; lbl_attaque.Content = ""; lbl_force.Content = ""; lbl_defense.Content = ""; img_carte.Visibility = Visibility.Hidden; } }
public Plateau_Jeu() { InitializeComponent(); Main.Visibility = Visibility.Hidden; btn_jouer.Content = "Jouer"; var json = JsonConvert.DeserializeObject <dynamic>(File.ReadAllText("joueur.json")); //Parcours de la collection pour créer les cartes en fonction du type renvoyer par le JSON foreach (var j in json) { List <CartePersonnage> deck = new List <CartePersonnage>(); foreach (var cp in j.Deck) { CartePersonnage c = new CartePersonnage(cp.Nom.ToString(), cp.Numero.ToString(), Convert.ToInt32(cp.Exemplaire), cp.Description.ToString(), cp.Type.ToString(), Convert.ToBoolean(cp.Deck1), Convert.ToBoolean(cp.Deck2), Convert.ToBoolean(cp.Deck3), Convert.ToInt32(cp.Attaque), Convert.ToInt32(cp.Defense), Convert.ToInt32(cp.Vitesse), Convert.ToInt32(cp.Force)); deck.Add(c); } Joueur player = new Joueur(Convert.ToString(j.Nom), Convert.ToString(j.Prenom), Convert.ToDateTime(j.DateNaissance), deck); lesJ.Add(player); } var jsonCartes = JsonConvert.DeserializeObject <dynamic>(File.ReadAllText("ninjago.json")); //Parcours de la collection pour créer la liste de cartes en fonction du type renvoyer par le JSON try { foreach (var carte in jsonCartes) { if (carte.Type == "P") { CartePersonnage cp = new CartePersonnage(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString(), Convert.ToBoolean(carte.Deck1), Convert.ToBoolean(carte.Deck2), Convert.ToBoolean(carte.Deck3), Convert.ToInt32(carte.Attaque), Convert.ToInt32(carte.Defense), Convert.ToInt32(carte.Vitesse), Convert.ToInt32(carte.Force)); lesCartes.Add(cp); } } } catch { } //List <Case> lesCases = new List<Case>(); plt = new Plateau(5); for (int r = 0; r <= 4; r++) { for (int c = 0; c <= 4; c++) { Button btn = new Button(); btn = (Button)FindName("btn" + r + "_" + c); Case laCase = new Case(btn); plt.UnPlateau[r, c] = laCase; } } if (lesJ[0].DateNaissance > lesJ[1].DateNaissance) { j1 = lesJ[0]; j2 = lesJ[1]; } else { j1 = lesJ[1]; j2 = lesJ[0]; } j1.TirerCarte(); j2.TirerCarte(); }
private void btn_jouer_Click(object sender, RoutedEventArgs e) { //poser qu'une carte par tour : variable globale utiliser aussi dans btn_click btnCarte1.Opacity = 1; btnCarte2.Opacity = 1; btnCarte3.Opacity = 1; btnCarte4.Opacity = 1; // action pour retourner le plateau et indiquer le nom du personnage sur les radiobutton et transition entre j1 et j2 int val_ret; if (btn_jouer.Content.ToString() == "Jouer") { action = 1; defausse = false; if (retourner == true) { actif = j1; j1.Piocher(); val_ret = 0; retourner = false; lblNomJoueur.Content = j1.Nom.ToString(); try { btnDepot.Content = j1.Depot[j1.Depot.Count - 1].Numero; try { btnDepot.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://*****:*****@"pack://application:,,,/Ressource/cartes/" + btnDepot.Content + ".png"))); } } catch { btnDepot.Content = "carteDepot"; btnDepot.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://*****:*****@"pack://application:,,,/Ressource/cartes/" + Convert.ToInt32(btnDepot.Content).ToString() + ".png"))); } catch { btnDepot.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://*****:*****@"pack://application:,,,/Ressource/" + btnDepot.Content + ".jpg"))); } refreshMain(); lblNbrCarteRestante.Content = j2.Deck.Count(); } RotateTransform rotateTransform = new RotateTransform(val_ret); rotateTransform.CenterX = -1; rotateTransform.CenterY = -3; PlateauJeu.RenderTransform = rotateTransform; //changer le label jouer en passer btn_jouer.Content = "Passer"; //rendre visible la main du joueur Main.Visibility = Visibility.Visible; //action pour retourner les boutons vides ( comme ça le joueur aura toujours ses cartes a lui dans son sens) for (int i = 1; i <= 3; i++) { RotateTransform rotateTransformBtn = new RotateTransform(val_ret); rotateTransformBtn.CenterX = 90; rotateTransformBtn.CenterY = 70; Button btn1 = (Button)FindName("btn1_" + i); if (btn1.Content.Equals("")) { btn1.RenderTransform = rotateTransformBtn; } Button btn2 = (Button)FindName("btn2_" + i); if (btn2.Content.Equals("")) { btn2.RenderTransform = rotateTransformBtn; } Button btn3 = (Button)FindName("btn3_" + i); if (btn3.Content.Equals("")) { btn3.RenderTransform = rotateTransformBtn; } for (int j = 1; j <= 3; j++) { RotateTransform rotateTransformBtnDuel = new RotateTransform(val_ret); Button duel = (Button)FindName("duel" + i + "_" + j); rotateTransformBtnDuel.CenterX = -20; rotateTransformBtnDuel.CenterY = 40; duel.RenderTransform = rotateTransformBtnDuel; } } } // cacher ses cartes else if (action == 0 && duel == false) { //permet de masque les boutton duel au changement de tour btnLeft.Visibility = Visibility.Hidden; btnRight.Visibility = Visibility.Hidden; btnTop.Visibility = Visibility.Hidden; btnBottom.Visibility = Visibility.Hidden; //on passe la carte selectionner à null selected = null; btnPoser = null; btn_jouer.Content = "Jouer"; lblNomJoueur.Content = ""; Main.Visibility = Visibility.Hidden; } score(); }
public Vue_Carte() { InitializeComponent(); #region Initialisation Liste générale //recuperation du JSON du fichier local var json = JsonConvert.DeserializeObject <dynamic>(File.ReadAllText("ninjago.json")); //Parcours de la collection pour créer les cartes en fonction du type renvoyer par le JSON try { foreach (var carte in json) { if (carte.Type == "P") { CartePersonnage cp = new CartePersonnage(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString(), Convert.ToBoolean(carte.Deck1), Convert.ToBoolean(carte.Deck2), Convert.ToBoolean(carte.Deck3), Convert.ToInt32(carte.Attaque), Convert.ToInt32(carte.Defense), Convert.ToInt32(carte.Vitesse), Convert.ToInt32(carte.Force)); lesCartes.Add(cp); } else if (carte.Type == "A") { CarteAction ca = new CarteAction(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString()); lesCartes.Add(ca); } else if (carte.Type == "V") { CarteVehicule cv = new CarteVehicule(carte.Nom.ToString(), carte.Numero.ToString(), Convert.ToInt32(carte.Exemplaire), carte.Description.ToString(), carte.Type.ToString()); lesCartes.Add(cv); } } } catch { } #endregion #region Initailisation maCollection //Parcours de la collection pour créer les cartes en fonction du type renvoyer par le JSON foreach (Carte c in lesCartes) //Pour chaque carte de la liste complete { if (c.Exemplaire > 0) //Si le nbr d'exemplaire et supérieur à 0 on l'ajoute dans la collection du joueur { maCollection.Add(c); } } #endregion #region compteur page lbl_nb_page.Content = "Page " + p + "/19"; if (p == 1) { btn_page_prec.Visibility = Visibility.Hidden; } else if (p == 19) { btn_page_suiv.Visibility = Visibility.Hidden; } else { btn_page_prec.Visibility = Visibility.Visible; btn_page_suiv.Visibility = Visibility.Visible; } #endregion for (int r = 1; r <= 2; r++) { for (int c = 1; c <= 5; c++) { i = i + 1; Button btnCollection = (Button)FindName("btn" + r + "_" + c); Label lblCarte = (Label)FindName("lbl" + r + "_" + c); try { btnCollection.Content = maCollection[i].Numero; lblCarte.Content = maCollection[i].Exemplaire; } catch { btnCollection.Content = "cartevide"; lblCarte.Content = ""; lblCarte.Visibility = Visibility.Hidden; btnCollection.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://*****:*****@"pack://application:,,,/Ressource/cartes/" + Convert.ToInt32(btnCollection.Content).ToString() + ".png"))); } catch { btnCollection.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://application:,,,/Ressource/cartes/" + btnCollection.Content.ToString() + ".png"))); } } } }
public void refresh() { //refresh des lbox lbox_cartes.Items.Clear(); lbox_collection.Items.Clear(); foreach (Carte c in lesCartes) //Pour chaque carte de la liste complete { if (c.Exemplaire > 0) //Si le nbr d'exemplaire et supérieur à 0 on l'ajoute dans la collection du joueur { lbox_collection.Items.Add(c); } else { lbox_cartes.Items.Add(c); } } //compteur de carte lbl_collection_count.Content = maCollection.Count() + " / " + lesCartes.Count(); if (carte != null) //on vérifie que la carte séléctionnée n'es pas null pour éviter le plantage { lbl_nb_exemplaire.Content = carte.Exemplaire.ToString(); lbl_nom.Content = carte.ToString(); lbl_numero.Content = carte.Numero.ToString(); if (carte.Type == "P") { CartePersonnage cp = new CartePersonnage(); cp = (CartePersonnage)carte; lbl_vitesse.Content = cp.Vitesse; lbl_attaque.Content = cp.Attaque; lbl_force.Content = cp.Force; lbl_defense.Content = cp.Defense; txt_description.Text = ""; } else if (carte.Type == "A") { CarteAction ca = new CarteAction(); ca = (CarteAction)carte; lbl_vitesse.Content = ""; lbl_attaque.Content = ""; lbl_force.Content = ""; lbl_defense.Content = ""; txt_description.Text = ca.Description; } else if (carte.Type == "V") { CarteVehicule cv = new CarteVehicule(); cv = (CarteVehicule)carte; lbl_vitesse.Content = ""; lbl_attaque.Content = ""; lbl_force.Content = ""; lbl_defense.Content = ""; txt_description.Text = cv.Description; } //Recuperation des images (try catch nécessaire pour éviter le plantage si la carte ne correspond à aucune image) try { img_carte.Visibility = Visibility.Visible; try //Conversion en int puis à nouveau en string pour supprier les 0 de l'affichage //Try catch nécessaire pour les cartes LEx car on ne peut aps convertir en int { carte.UrlImage = "pack://application:,,,/Ressource/cartes/" + Convert.ToInt32(carte.Numero).ToString() + ".png"; //l'attribut UrlImage prend les attributs de la carte pour les metttre en forme comme le nom de l'image qui lui correspond } catch { carte.UrlImage = "pack://application:,,,/Ressource/cartes/" + carte.Numero.ToString() + ".png"; //l'attribut UrlImage prend les attributs de la carte pour les metttre en forme comme le nom de l'image qui lui correspond } var uri = new Uri(carte.UrlImage); var bitmap = new BitmapImage(uri); img_carte.Source = bitmap; lbl_nom.Content = ""; lbl_numero.Content = ""; lbl_vitesse.Content = ""; lbl_attaque.Content = ""; lbl_force.Content = ""; lbl_defense.Content = ""; txt_description.Text = ""; } catch { img_carte.Visibility = Visibility.Hidden; } } else //si la carte est nulle, ont vide tous les affichages { lbl_nb_exemplaire.Content = ""; lbl_nom.Content = ""; lbl_numero.Content = ""; lbl_vitesse.Content = ""; lbl_attaque.Content = ""; lbl_force.Content = ""; lbl_defense.Content = ""; txt_description.Text = ""; img_carte.Visibility = Visibility.Hidden; } }