示例#1
0
        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
        }
示例#2
0
        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));
        }
示例#3
0
        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")));
                    }
                }
            }
        }
示例#4
0
        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";
        }
示例#5
0
 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;
     }
 }