示例#1
0
        /// <summary>
        /// Affichage du menu principal et des différentes possibilités
        /// </summary>
        public static void MenuPrinciapl()
        {
            bool   reponseOK = false;
            string reponse   = "*";

            // la boucle permet de contrôler les entrées de l'utilisateur
            while (!reponseOK)
            {
                Affichage.MenuPrincipal();
                Affichage.MenuPrincipalActions();
                reponse   = Console.ReadLine();
                reponseOK = Menu.VerifMenuPrincipal(reponse);
                Console.Clear();
            }
            // Gestion des différentes réponses possibles
            if (reponse == "a")
            {
                Menu.ChargerUneCarte();
            }
            if (reponse == "b")
            {
                Menu.DecrypterUneTrame();
            }
            if (reponse == "q")
            {
                Environment.Exit(0);
            }
        }
示例#2
0
        /// <summary>
        /// Routine de décryptage de la carte
        /// </summary>
        public static void DecrypterUneTrame()
        {
            (string, string, string)CheminNomEtDestination;
            string reponse = "*";

            CheminNomEtDestination = Affichage.DemanderCheminTrame();
            try
            {
                Decrypteur.DecrypterLaTrame(CheminNomEtDestination.Item1,
                                            CheminNomEtDestination.Item2, CheminNomEtDestination.Item3);
                Carte carte = new Carte(CheminNomEtDestination.Item3 +
                                        CheminNomEtDestination.Item2 + ".clair",
                                        CheminNomEtDestination.Item2);
                Affichage.DecryptageEnCours();
                while (reponse != "")
                {
                    Affichage.AfficherCarteDecryptee(carte,
                                                     CheminNomEtDestination.Item3);
                    reponse = Console.ReadLine();
                    Console.Clear();
                }
                Menu.MenuPrinciapl();
            }
            catch (Exception)
            {
                Affichage.ErreurChemin();
                Thread.Sleep(2000);
                Console.Clear();
                Menu.DecrypterUneTrame();
            }
        }
示例#3
0
        /// <summary>
        /// Proposer à l'utilisateur les différentes actions possible avec
        /// la carte et traiter sa réponse
        /// </summary>
        /// <param name="carte">Carte de l'ile (classe)</param>
        private static void MenuCarte(Carte carte)
        {
            string reponse   = "";
            bool   reponseOK = false;

            while (!reponseOK)
            {
                Affichage.MenuCarte(carte);
                reponse   = Console.ReadLine();
                reponseOK = Menu.VerifChargerUneCarte(reponse);
                Console.Clear();
            }
            Menu.ActionsChargerUneCarte(reponse, carte);
        }
示例#4
0
 /// <summary>
 /// Demander à l'utilisateur le chemin de la carte .clair et le nom
 /// de la carte
 /// </summary>
 private static void ChargerUneCarte()
 {
     (string, string)cheminEtNom;
     cheminEtNom = Affichage.DemanderCheminCarte();
     try
     {
         Carte carte = new Carte(cheminEtNom.Item1, cheminEtNom.Item2);
         Console.Clear();
         Menu.MenuCarte(carte);
     }catch (Exception)
     {
         Affichage.ErreurChemin();
         Thread.Sleep(2000);
         Console.Clear();
         Menu.ChargerUneCarte();
     }
 }
示例#5
0
        /// <summary>
        /// Série d'actions quand l'utilisateur souhaite crypté la carte
        /// </summary>
        /// <param name="carte">Carte de l'ile (objet)</param>
        public static void Cryptage(Carte carte)
        {
            string sortie = "";

            Affichage.CryptageEnCours();
            while (sortie != "o" || sortie != "n")
            {
                Affichage.AfficherTrame(carte);
                sortie = Console.ReadLine();
                Console.Clear();
                if (sortie == "n")
                {
                    Menu.MenuCarte(carte);
                }
                if (sortie == "o")
                {
                    string addresse;
                    Affichage.ChoixAddresse();
                    addresse = Console.ReadLine();
                    try
                    {
                        carte.SauvegaderLaCarteCrypte(addresse);
                        Affichage.EnvoieEnCours();
                        while (sortie != "")
                        {
                            Affichage.ConfirmationEnvoi(addresse);
                            sortie = Console.ReadLine();
                            Console.Clear();
                        }
                        Menu.MenuCarte(carte);
                    }
                    catch (Exception)
                    {
                        Affichage.ErreurChemin();
                        Thread.Sleep(2000);
                        Console.Clear();
                        Menu.Cryptage(carte);
                    }
                }
            }
            Console.Clear();
        }
示例#6
0
 /// <summary>
 /// Afficher un faux chargement et le nom des créateurs"
 /// </summary>
 public static void Chargement()
 {
     Affichage.Chargement();
     Thread.Sleep(3000);
     Console.Clear();
 }
示例#7
0
        /// <summary>
        /// Traitement de la réponse de l'utilisateur
        /// </summary>
        /// <param name="reponse">Réponse de l'utilisateur</param>
        /// <param name="carte">Carte de l'ile (objet)</param>
        private static void ActionsChargerUneCarte(string reponse, Carte carte)
        {
            string sortie = "*";

            if (reponse == "a")
            {
                while (sortie != "")
                {
                    Affichage.ListeParcelles(carte);
                    sortie = Console.ReadLine();
                    Console.Clear();
                }
                Menu.MenuCarte(carte); // retourne au menu de la carte
            }
            if (reponse == "b")
            {
                while (sortie != "")
                {
                    string lettre;
                    Console.Write("Lettre de la parcelle : ");
                    lettre = Console.ReadLine();
                    Console.Clear();
                    Affichage.InfoParcelle(carte, lettre);
                    sortie = Console.ReadLine();
                    Console.Clear();
                }
                Menu.MenuCarte(carte);
            }
            if (reponse == "c")
            {
                while (sortie != "")
                {
                    int nombre;
                    Console.Write("Tu cherches les parcelles de taille supérieure ou égale à : ");
                    nombre = Convert.ToInt32(Console.ReadLine());
                    Console.Clear();
                    Affichage.ParcelleSuperieure(carte, nombre);
                    sortie = Console.ReadLine();
                    Console.Clear();
                }
                Menu.MenuCarte(carte);
            }
            if (reponse == "d")
            {
                while (sortie != "")
                {
                    Affichage.AireMoyen(carte);
                    sortie = Console.ReadLine();
                    Console.Clear();
                }
                Menu.MenuCarte(carte);
            }
            if (reponse == "e")
            {
                Menu.Cryptage(carte);
            }
            if (reponse == "q")
            {
                Menu.MenuPrinciapl();
            }
        }