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 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 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 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; } }