/// <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]); } } }
/// <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; } } }