/// <summary> /// Affiche et gère l'écran de paramétrage d'une nouvelle partie /// </summary> public static void MenuDemarrerNouvellePartie() { Console.Clear(); Joueur.Start(); // On met à jour l'index de sauvegarde pour éviter d'écraser une ancienne partie Sauvegarde.NomFichierIndex = Sauvegarde.RecupererDernierIndexSauvegarde() + 1; // Initialisation des grilles Grille.GrilleJ1 = new int[Grille.LargeurGrille, Grille.HauteurGrille]; Grille.GrilleDecouverteJ1 = new int[Grille.LargeurGrille, Grille.HauteurGrille]; Grille.GrilleJ2 = new int[Grille.LargeurGrille, Grille.HauteurGrille]; Grille.GrilleDecouverteJ2 = new int[Grille.LargeurGrille, Grille.HauteurGrille]; // Initialisation des données des bateaux des joueurs Bateau.PositionBateauxJ1 = new int[Bateau.NombreTypesBateaux, 4]; Bateau.VieBateauxJ1 = new int[Bateau.NombreTypesBateaux]; Bateau.PositionBateauxJ2 = new int[Bateau.NombreTypesBateaux, 4]; Bateau.VieBateauxJ2 = new int[Bateau.NombreTypesBateaux]; Bateau.PlacerBateauxAuHasard(1); Bateau.PlacerBateauxAuHasard(2); //TODO: modifier ce code si on souhaite ajouter un mode JCJ Console.WriteLine("======= Nouvelle partie ======="); Grille.AfficherGrille(Grille.GrilleJ1); Console.WriteLine("-------------------------------"); ConsoleKey key = default(ConsoleKey); do { if (key != default(ConsoleKey)) { Console.ForegroundColor = ConsoleColor.Red; } Console.WriteLine("Etes-vous satisfait de ce placement ?"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("(O)ui | N(on)"); Console.ResetColor(); key = Console.ReadKey(false).Key; }while (key != ConsoleKey.O && key != ConsoleKey.N); Program.ViderTampon(); if (key == ConsoleKey.O) { Jeu.DeroulementPartie(); } else { Jeu.MenuDemarrerNouvellePartie(); } }
/// <summary> /// Affichage et gestion de l'interaction du joueur du menu de lancement d'une nouvelle partie /// </summary> public static void MenuNouvellePartie() { Console.Clear(); Console.WriteLine("======= Nouvelle partie ======="); ConsoleKey key = default(ConsoleKey); do { if (key != default(ConsoleKey)) { Console.ForegroundColor = ConsoleColor.Red; } Console.WriteLine("Veuillez choisir une option ci-dessous"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("(E) Commencer une partie contre l'ordinateur niveau Enfant \n(F) Commencer une partie contre l'ordinateur niveau Facile \n(N) Commencer une partie contre l'ordinateur niveau Normal \n(R)etour"); Console.ResetColor(); key = Console.ReadKey().Key; }while (key != ConsoleKey.F && key != ConsoleKey.N && key != ConsoleKey.R && key != ConsoleKey.E); Program.ViderTampon(); if (key == ConsoleKey.R) { Jeu.MenuPrincipal(); } else if (key == ConsoleKey.F) { Jeu.NiveauJeu = Niveau.FACILE; Jeu.MenuDemarrerNouvellePartie(); } else if (key == ConsoleKey.N) { Jeu.NiveauJeu = Niveau.NORMAL; Jeu.MenuDemarrerNouvellePartie(); } else if (key == ConsoleKey.E) { Jeu.NiveauJeu = Niveau.ENFANT; Jeu.MenuDemarrerNouvellePartie(); } }