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?"))); }