Ejemplo n.º 1
0
        /// <summary>Afficher le classement des meilleurs temps selon la difficluté et la taille désirées.</summary>
        void AfficherTopClassement()
        {
            Partie.Difficulte difficulte = SelectionDifficulte();
            Partie.Taille     taille     = SelectionTaille();
            MenuPrincipal.EffaceEcran();
            joueurs.Sort((a, b) => a[difficulte, taille].CompareTo(b[difficulte, taille]));

            MenuPrincipal.AfficherEnteteClassement(difficulte.ToString(), taille.ToString());

            for (int i = 0; i < joueurs.Count; i++)
            {
                if (joueurs[i][difficulte, taille] != long.MaxValue)
                {
                    MenuPrincipal.AfficherClassement(i + 1, joueurs[i].Nom, joueurs[i][difficulte, taille]);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>Sélection d'un joueur dans la liste de joueurs existants.</summary>
        Joueur SelectionJoueur()
        {
            Joueur joueur = null;

            AfficherJoueurs();

            while (joueur == null)
            {
                MenuPrincipal.ChoixJoueur();

                try {
                    joueur = joueurs[int.Parse(MenuPrincipal.EntreeUtilisateur()) - 1];
                } catch {
                    MenuPrincipal.EntreeIncorrecte();
                    MenuPrincipal.AttenteUtilisateur();
                }
            }
            return(joueur);
        }
Ejemplo n.º 3
0
        /// <summary>Sélection d'une difficulté dans ceux existantes.</summary>
        Partie.Difficulte SelectionDifficulte()
        {
            bool selection = true;

            Partie.Difficulte difficulte = Partie.Difficulte.FACILE;

            while (selection)
            {
                switch (MenuPrincipal.AfficherChoixDifficulte())
                {
                case "1":
                    difficulte = Partie.Difficulte.FACILE;
                    selection  = false;
                    break;

                case "2":
                    difficulte = Partie.Difficulte.INTERMEDIAIRE;
                    selection  = false;
                    break;

                case "3":
                    difficulte = Partie.Difficulte.DIFFICILE;
                    selection  = false;
                    break;

                case "4":
                    difficulte = Partie.Difficulte.EXTREME;
                    selection  = false;
                    break;

                default:
                    MenuPrincipal.EntreeIncorrecte();
                    MenuPrincipal.AttenteUtilisateur();
                    break;
                }
            }

            return(difficulte);
        }
Ejemplo n.º 4
0
        /// <summary>Validation et confirmation de la supression d'un joueur.</summary>
        void SupprimerJoueur()
        {
            bool supress = true;
            int  rep;

            AfficherJoueurs();

            while (supress)
            {
                try {
                    if (MenuPrincipal.Confirmer(MenuPrincipal.ValidationSupprimer(joueurs[rep = int.Parse(MenuPrincipal.SupprimerJoueur()) - 1].Nom)))
                    {
                        MenuPrincipal.ConfirmationSupprimer(joueurs[rep].Nom);
                        joueurs.RemoveAt(rep);
                        MenuPrincipal.AttenteUtilisateur();
                        supress = false;
                    }
                } catch {
                    MenuPrincipal.EntreeIncorrecte();
                    MenuPrincipal.AttenteUtilisateur();
                }
            }
        }
Ejemplo n.º 5
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;
                }
            }
        }