Esempio n. 1
0
        /// <summary>
        /// Méthode qui créé des terrains
        /// </summary>
        /// <returns></returns>
        public static ListTerrain CreationDeTerrains()
        {
            ListTerrain ListeTerrains = new ListTerrain();

            if (File.Exists("terrains.bin")) //Cherche si le fichier terrains.bin existe car si il existe il y a des données donc il faut les charger
            {
                ListeTerrains.Chargement();  //Ici on charge les données des personnages si elles existent dans le fichier
            }
            else                             //Sinon éxecuter l'instanciation des terrains (que au premier lancement sauf si suppression du fichier terrains.bin)
            {
                Terrain t1 = new Terrain("Smash Ville", false, "/Images;component/Terrains/Smash_Ville.png");
                Terrain t2 = new Terrain("Destination finale", false, "/Images;component/Terrains/Destination_finale.jpg");
                Terrain t3 = new Terrain("Yoshi Story", false, "/Images;component/Terrains/Yoshi_Story.png");
                Terrain t4 = new Terrain("Champ de bataille", false, "/Images;component/Terrains/Champ_de_Bataille.png");
                Terrain t5 = new Terrain("Ile de Yoshi", false, "/Images;component/Terrains/Ile_de_Yoshi.png");
                Terrain t6 = new Terrain("Ligue Pokemon de Kalos", false, "/Images;component/Terrains/Ligue_Pokemon_de_Kalos.png");
                Terrain t7 = new Terrain("Stade Pokemon 2", false, "/Images;component/Terrains/Stade_Pokemon_2.png");
                Terrain t8 = new Terrain("Traversee de Lylat", false, "/Images;component/Terrains/Traversee_de_Lylat.jpg");
                Terrain t9 = new Terrain("Ville et Centre-ville", false, "/Images;component/Terrains/Ville_et_Centre-Ville.jpg");

                ListeTerrains.ListeDesTerrains.Add(t1);
                ListeTerrains.ListeDesTerrains.Add(t2);
                ListeTerrains.ListeDesTerrains.Add(t3);
                ListeTerrains.ListeDesTerrains.Add(t4);
                ListeTerrains.ListeDesTerrains.Add(t5);
                ListeTerrains.ListeDesTerrains.Add(t6);
                ListeTerrains.ListeDesTerrains.Add(t7);
                ListeTerrains.ListeDesTerrains.Add(t8);
                ListeTerrains.ListeDesTerrains.Add(t9);
            }


            return(ListeTerrains);
        }
        /// <summary>
        /// Méthode du bouton pour modifier un personnage
        /// Cette méthode va tout comme la méthode BoutonAjouterPerso dans AjouterPerso.xaml.cs vérifier si les textbox ne sont pas nulles et si les 3 terrains favoris sélectionnés sont bien différents
        /// Puis elle va instancier un personnage et remplacer ses attributs actuels par ceux saisis dans les textbox
        /// Une messagebox va s'afficher pour confirmer la modification du personnage si celui-ci est modifié.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BoutonModifPerso(object sender, RoutedEventArgs e)
        {
            if (Nom.Text == null)
            {
                MessageBox.Show("Ecrire un nom");
            }
            else if (Numero.Text == null)
            {
                MessageBox.Show("Saisir un numéro");
            }
            else if (SerieOrigine.Text == null)
            {
                MessageBox.Show("Ecrire une série d'origine");
            }
            else if (Poids.Text == null)
            {
                MessageBox.Show("Saisir un poids");
            }
            else if (Move.Text == null)
            {
                MessageBox.Show("Ecrire un move");
            }
            else if (leterrain1.SelectedItem == null || leterrainN2.SelectedItem == null || leterrain3.SelectedItem == null ||
                     leterrain1.SelectedItem == leterrainN2.SelectedItem || leterrain1.SelectedItem == leterrain3.SelectedItem || leterrainN2.SelectedItem == leterrain3.SelectedItem)
            {
                MessageBox.Show("Veuillez Sélectionner des terrains différents");
            }
            else
            {
                ListTerrain lesterrains = new ListTerrain();
                lesterrains.ListeDesTerrains.Add(ter1);
                lesterrains.ListeDesTerrains.Add(ter2);
                lesterrains.ListeDesTerrains.Add(ter3);

                int Numperso   = int.Parse(Numero.Text); //convertir le string en int
                int PoidsPerso = int.Parse(Poids.Text);

                Personnage Bot = new Personnage(ImgPers, lesterrains.ListeDesTerrains, Nom.Text, Numperso, SerieOrigine.Text, PoidsPerso, Move.Text);

                int NumpersoInt   = int.Parse(Numero.Text); //convertir le string en int
                int PoidsPersoInt = int.Parse(Poids.Text);

                persomodif.NomPerso         = Nom.Text; //Le nom du personnage modifié est égal au nom du personnage saisi dans la textbox
                persomodif.Numero           = NumpersoInt;
                persomodif.SerieOrigine     = SerieOrigine.Text;
                persomodif.Poids            = PoidsPersoInt;
                persomodif.MoveLePlusRapide = Move.Text;
                if (ImgPers != null)
                {
                    persomodif.ImagePersoSource = ImgPers;
                }
                persomodif.TerrainsAv = lesterrains.ListeDesTerrains;

                MessageBox.Show($"Personnage {Bot.NomPerso} modifié");
            }
        }
        /// <summary>
        /// Méthode Bouton pour ajouter un personnage
        /// Cette méthode vérifie si aucune textbox est vide et si l'utilisateur a bien sélectionné une image, elle vérifie aussi si l'utilisateur sélectionne bien 3 terrains favoris pour le personnage
        /// et bien 3 terrains différents pour ensuite ajouter ces terrains à la liste des terrains du constructeur du personnage
        /// Enfin un personnage est instancié et ajouté à la listepersos des personnages.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BoutonAjouterPerso(object sender, RoutedEventArgs e)
        {
            if (Nom.Text == null)
            {
                MessageBox.Show("Ecrire un nom");
            }

            else if (Numero.Text.ToString() == "")
            {
                MessageBox.Show("Saisir un numéro");
            }
            else if (ImgPers == null)
            {
                MessageBox.Show("Sélectionner une image");
            }
            else if (SerieOrigine.Text == null)
            {
                MessageBox.Show("Ecrire une série d'origine");
            }
            else if (Poids.Text.ToString() == "")
            {
                MessageBox.Show("Saisir un poids");
            }
            else if (Move.Text == null)
            {
                MessageBox.Show("Ecrire un move");
            }
            else if (leterrain1.SelectedItem == null || leterrainN2.SelectedItem == null || leterrain3.SelectedItem == null ||
                     leterrain1.SelectedItem == leterrainN2.SelectedItem || leterrain1.SelectedItem == leterrain3.SelectedItem || leterrainN2.SelectedItem == leterrain3.SelectedItem)
            {
                MessageBox.Show("Veuillez Sélectionner des terrains différents");
            }
            else
            {
                ListTerrain lesterrains = new ListTerrain(); //instanciation de la listeterrains pour ajouter les 3 terrans favoris du personnage
                lesterrains.ListeDesTerrains.Add(ter1);
                lesterrains.ListeDesTerrains.Add(ter2);
                lesterrains.ListeDesTerrains.Add(ter3);

                int Numperso   = int.Parse(Numero.Text); //convertir le string en int
                int PoidsPerso = int.Parse(Poids.Text);

                Personnage Bot = new Personnage(ImgPers, lesterrains.ListeDesTerrains, Nom.Text, Numperso, SerieOrigine.Text, PoidsPerso, Move.Text); //Instanciation du personnage pour l'ajouter à la liste avec les données saisies
                (Application.Current as App).lespersos.ListeDesPersos.Add(Bot);                                                                       //Ajout du personnage à la liste
                MessageBox.Show($"Personnage {Bot.NomPerso} créé");
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Méthode qui créé les 3 terrains favoris des personnages au hasard
        /// </summary>
        /// <returns></returns>
        public static ObservableCollection <Terrain> CreationDeTerrainsFavorisRandom()
        {
            ObservableCollection <Terrain> ListeTerrains = new ObservableCollection <Terrain>(); //On créé la liste des terrains favoris
            ListTerrain ListeComplete = CreationDeTerrains();                                    //Création de tout les terrains de l'application

            Random random = new Random();                                                        //On instancie Random

            int numrang;                                                                         //création des rangs qui vont être sélectionnés au hasard, 1 rang correspond à un des trois terrains favoris
            int numrang2;
            int numrang3;

            numrang = random.Next(0, ListeComplete.ListeDesTerrains.Count - 1);          //On créé un nombre au hasard entre 0 (début liste) et le nombre de terrains totaux de l'application

            ListeTerrains.Add(ListeComplete.ListeDesTerrains[numrang]);                  //On ajoute ce nombre à la liste des terrains favoris

            numrang2 = random.Next(0, ListeComplete.ListeDesTerrains.Count - 1);         //On recréé un nombre au hasard entre 0 (début liste) et le nombre de terrains totaux de l'application
            if (numrang2 == numrang)                                                     //Si le nombre du terrain2 est égal au terrain 3 alors
            {
                while (numrang2 == numrang)                                              //tant qu'ils sont égaux
                {
                    numrang2 = random.Next(0, ListeComplete.ListeDesTerrains.Count - 1); //On créé un nombre au hasard
                }
            }
            ListeTerrains.Add(ListeComplete.ListeDesTerrains[numrang2]);    //Puis on ajoute ce nombre à la liste des terrains favoris et on répète le processus pour le terrain3

            numrang3 = random.Next(0, ListeComplete.ListeDesTerrains.Count - 1);
            if (numrang3 == numrang || numrang3 == numrang2)
            {
                while (numrang3 == numrang || numrang3 == numrang2)
                {
                    numrang3 = random.Next(0, ListeComplete.ListeDesTerrains.Count - 1);
                }
            }

            ListeTerrains.Add(ListeComplete.ListeDesTerrains[numrang3]);



            return(ListeTerrains);  //Retourne la liste des 3 terrains favoris du personnage sélectionés au hasard
        }