Esempio n. 1
0
        /// <summary>Démarre l'exécution du jeu de démineur.</summary>
        public void Demarrer()
        {
            bool sortie = true; // Gère la sortie du jeu de démineur
            bool continuer;

            while (sortie)
            {
                MenuPrincipal.EffaceEcran();
                switch (MenuPrincipal.AfficherMenu())
                {
                case "1":             // Commencer une partie
                    Partie partie = null;
                    continuer = true; // Gère la sortie du menu de parties

                    while (continuer)
                    {
                        MenuPrincipal.EffaceEcran();
                        switch (MenuPrincipal.AfficherCommencerPartie())
                        {
                        case "1":                  // Partie avec une joueur humain
                            if (joueurs.Count > 0) // Si il a asser de joueurs pour créer une partie
                            {
                                partie    = new Partie(SelectionJoueur(), SelectionDifficulte(), SelectionTaille());
                                continuer = false;
                            }
                            else
                            {
                                MenuPrincipal.ManqueJoueurs();
                                MenuPrincipal.AttenteUtilisateur();
                            }
                            break;

                        case "2":         // Partie avec l'intelligence artificielle
                            partie    = new Partie(SelectionDifficulte(), SelectionTaille());
                            continuer = false;
                            break;

                        case "3":         // Retour
                            continuer = false;
                            break;

                        default:         // Entrée incorrecte
                            MenuPrincipal.EntreeIncorrecte();
                            MenuPrincipal.AttenteUtilisateur();
                            break;
                        }
                    }

                    if (partie != null)
                    {
                        partie.Jouer();
                        MenuPrincipal.AttenteUtilisateur();
                    }
                    break;

                case "2":             // Gestion des joueurs
                    continuer = true; // Gère la sortie du menu de gestion des joueurs
                    while (continuer)
                    {
                        MenuPrincipal.EffaceEcran();
                        switch (MenuPrincipal.AfficherGestionJoueurs())
                        {
                        case "1":         // Créer un joueur
                            NouveauJoueur();
                            continuer = false;
                            break;

                        case "2":         // Supprimer un joueur
                            if (joueurs.Count > 0)
                            {
                                SupprimerJoueur();
                                continuer = false;
                            }
                            else
                            {
                                MenuPrincipal.ManqueJoueurs();
                                MenuPrincipal.AttenteUtilisateur();
                            }
                            break;

                        case "3":         // Retour
                            continuer = false;
                            break;

                        default:         // Entrée incorrecte
                            MenuPrincipal.EntreeIncorrecte();
                            MenuPrincipal.AttenteUtilisateur();
                            break;
                        }
                    }
                    break;

                case "3":     // Afficher le classement
                    MenuPrincipal.EffaceEcran();
                    AfficherTopClassement();
                    MenuPrincipal.AttenteUtilisateur();
                    break;

                case "4":     // Sauvegarder et quitter
                    MenuPrincipal.EffaceEcran();
                    if (MenuPrincipal.Confirmer(MenuPrincipal.ValidationQuitter()))
                    {
                        SauvegarderJoueurs();
                        sortie = false;
                    }
                    break;
                }
            }
        }