예제 #1
0
파일: Menu.cs 프로젝트: arodde/CarreMagique
        public void CarreMagiqueEnMemoire()
        {
            /* ***************************************************************
             +
             * Fonction pour aller chercher le contenu d'un fichier en mémoire s'il existe
             * les paramètres:
             * 1 : + (+)
             * 2 : + (+)
             * 3 : + (+)
             * 4 : + (+)
             * 5 : + (+)
             * retour: + (+)
             * exemple(s):
             * +
             * Ce qui est impossible:
             * +
             **************************************************************** */
            Uti.Info("Menu", "CarreMagiqueEnMemoire", "");

            /*
             *  consulter le dossier de sauvegarde et le fichier de
             *  sauvegarde si dossier n'existe pas le créer sinon
             *  aller dedans si aucun fichier alors dire aucun fichier
             *  sinon l'ouvrir lire le iNombre créer le damier et le
             *  remplir de chaque valeur rencontrée
             */
            menuPersistance.DefinirEmplacementDossierRacine();

            string NomFichier = menuPersistance.RetourneAdresseDossierSvg();

            Console.WriteLine("Choisissez une valeur de carré magique parmi ceux présentés.");
            menuPersistance.AfficheListeFichiersExistants();
        }
예제 #2
0
파일: Menu.cs 프로젝트: arodde/CarreMagique
        public void MenuJeu()
        {
            /* ***************************************************************
             +
             * Fonction pour afficher les options disponibles au menu
             * - afficher les règles du jeu
             * - créer un carré magique de la taille souhaitée et le résoudre
             * - charger un carré magique en cours de résolution depuis un fichier
             * les paramètres:
             * 1 : + (+)
             * 2 : + (+)
             * 3 : + (+)
             * 4 : + (+)
             * 5 : + (+)
             * retour: + (+)
             * exemple(s):
             * +
             * Ce qui est impossible:
             * +
             **************************************************************** */
            Uti.Info("Menu", "MenuJeu", "");
            // mise en forme
            string sl  = "\n";
            string tbl = "\t";
            // élaboration du menu
            string sMenu = "MENU" + sl + tbl;

            sMenu += "1. Règles du jeu le carré magique." + sl + tbl;
            sMenu += "2. Résoudre un nouveau Carré magique." + sl + tbl;
            sMenu += "3. Charger un carré magique en mémoire." + sl + tbl;
            // affichage menu
            Console.WriteLine(sMenu);
        }
예제 #3
0
파일: Menu.cs 프로젝트: arodde/CarreMagique
 public void CreationCarreMagique()
 {
     /* ***************************************************************
      +
      * Fonction pour créer le carré magique s'il n'existe pas
      * les paramètres:
      * 1 : + (+)
      * 2 : + (+)
      * 3 : + (+)
      * 4 : + (+)
      * 5 : + (+)
      * retour: + (+)
      * exemple(s):
      * +
      * Ce qui est impossible:
      * +
      **************************************************************** */
     Uti.Info("Menu", "CreationCarreMagique", "");
     // contenu de Main chargé dans le menu
     menuGrille = new Grille();
     menuGrille.Construire();
     // initialisation
     menuGrille.InitialisationDamier();
     menuPersistance.PersistanceGrille = menuGrille;
     menuGrille.GrillePersistance      = menuPersistance;
     if (menuGrille.INombre != 0)
     {
         menuGrille.SommeATrouver().ToString();
     }
     else
     {
         Console.WriteLine("Le damier de la grille ne peut pas être créé.");
     }
 }
예제 #4
0
파일: uti.cs 프로젝트: arodde/CarreMagique
 public static void CreerDossierALEmplacement(string sChemin)
 {
     /* ***************************************************************
      +
      * Fonction pour créer un dossier au chemin voulu s'il n'existe pas déjà
      * les paramètres:
      * 1 : + (+)
      * 2 : + (+)
      * 3 : + (+)
      * 4 : + (+)
      * 5 : + (+)
      * retour: + (+)
      * exemple(s):
      * +
      * Ce qui est impossible:
      * +
      **************************************************************** */
     Uti.Info("Uti", "CreerDossierALEmplacement", "");
     // crée un dossier à l'emplacement spécifier s'il n'existe pas, rien
     // s'il existe déjà
     if (!Directory.Exists(sChemin))
     {
         Directory.CreateDirectory(sChemin);
         Console.WriteLine("Création dossier à l'emplacement " + sChemin + ".");
     }
 }
예제 #5
0
        static void Main(string[] args)
        {
            Uti.Info("Program", "Main", "");
            Uti.ReferencesProgramme("RODDE", "Alain", "carre-magique", "1.0.2");
            Menu menu = new Menu();

            menu.MethodesMenuJeu();
            Console.WriteLine();
        }
예제 #6
0
파일: uti.cs 프로젝트: arodde/CarreMagique
        static public bool Action(string sVerbeAction, string sActionSiOui, string sActionSiNon, string sCommentaire)
        {
            /* ***************************************************************
             +
             * Fonction pour soumettre une action à l'utilisateur et renvoyer un booléen
             * correspondant à sa décision
             * les paramètres:
             * 1 : verbeAction (string)
             * 2 : actionSiOui (string)
             * 3 : actionSiNon (string)
             * 4 : commentaire (string) (pour apporter une précision s'il y a lieur
             * 5 : + (+)
             * retour: si oui true si non false (bool)
             * exemple(s):
             * +
             * Ce qui est impossible:
             * +
             **************************************************************** */
            // pour lancer une éventuelle action
            Uti.Info("Uti", "Action", "sauvegarde");
            Console.Write("Voulez-vous " + sVerbeAction);
            if (sCommentaire != "")
            {
                Console.Write(sCommentaire + " ");
            }
            Console.WriteLine("?");
            Console.WriteLine("(O/N)?");

            ConsoleKeyInfo saisie = Console.ReadKey(true);

            if (saisie.Key == ConsoleKey.O)
            {
                Console.WriteLine(sActionSiOui);
                return(true);
            }
            else
            {
                Console.WriteLine(sActionSiNon);
                return(false);
            }
        }
예제 #7
0
파일: Menu.cs 프로젝트: arodde/CarreMagique
 public void PreparationCarreMagique()
 {
     /* ***************************************************************
      +
      * Fonction pour créer une instance de menu qui va
      *   - créer l'instance de persistance
      *   - créer la grille la persistance en paramètre
      * les paramètres:
      * 1 : + (+)
      * 2 : + (+)
      * 3 : + (+)
      * 4 : + (+)
      * 5 : + (+)
      * retour: + (+)
      * exemple(s):
      * +
      * Ce qui est impossible:
      * +
      **************************************************************** */
     Uti.Info("Menu", "PréparationCarreMagique", "");
     CreationCarreMagique();
     // affichage du damier et résolution
     menuGrille.ManipulationCarreMagique();
 }
예제 #8
0
파일: Menu.cs 프로젝트: arodde/CarreMagique
        public void MethodesMenuJeu()
        {
            /* ***************************************************************
             +
             * Fonction pour permettre au programme de vérifier la saisie utilisateur
             * et le diriger si elle est correcte vers le bon embranchement de switch
             * les paramètres:
             * 1 : + (+)
             * 2 : + (+)
             * 3 : + (+)
             * 4 : + (+)
             * 5 : + (+)
             * retour: + (+)
             * exemple(s):
             * +
             * Ce qui est impossible:
             * +
             **************************************************************** */
            Uti.Info("Menu", "MethodesMenuJeu", "");
            //string sl = "\n";
            //string tbl = "\t";
            string sInput = "";
            // menu
            int        iTheme       = 0;
            int        nbOptionMenu = 3;
            optionMenu choixDOption = 0;

            bool okSaisie = false;

            // charge le menu l'option choisie puis repropose le menu
            do
            {
                MenuJeu();
                while (!okSaisie)
                {
                    Console.WriteLine("Votre choix doit être compris entre 1 et " + nbOptionMenu + ".");
                    // récupération d'une chaine pour la convertir en entier
                    sInput = Console.ReadLine();
                    if (int.TryParse(sInput, out iTheme))
                    {
                        Console.WriteLine(iTheme);
                        if (iTheme < 1 || iTheme > nbOptionMenu)
                        {
                            okSaisie = false;
                        }
                        else
                        {
                            okSaisie = true;
                        }
                    }
                    else
                    {
                        Console.WriteLine("Impossible " + sInput + " ne peut être converti en entier.\nVeuillez saisir un entier");
                    }
                }
                switch (iTheme) // à chaque thème déclaration des variables dans la portée suffisante pour éviter les variables globales
                {
                case 1:
                    DefinitionCarreMagique();
                    break;

                case 2:
                    menuPersistance.OptionMenu = (int)optionMenu.PreparationCarreMagique;
                    PreparationCarreMagique();

                    break;

                case 3:
                    menuPersistance.OptionMenu = (int)optionMenu.CreationCarreMagique;
                    CarreMagiqueEnMemoire();
                    break;
                }
                if (menuPersistance != null)
                {
                    menuPersistance.Reinitialiser();
                }

                okSaisie = false;
            } while (!(Uti.Quitter(" CARRE MAGIQUE?")));
        }